error: linked button The server tag is not well formed.
我正在使用VB asp.net和JavaScript
我在转发器中有一个链接按钮。当用户单击“删除”按钮时,我想运行onclick()函数并传入eval()值。
之后我想在javascript函数中获取值。
注意,创建隐藏字段不会起作用,因为它在转发器中,并且我无法在JavaScript函数中获取值。
function RemoveItemJS(obj) {
alert("test" + obj);
}
vb asp.net转发器代码:
<asp:Repeater ID="BagRepeater" runat="server">
<ItemTemplate>
<asp:HyperLink ID="ProductNameHL" NavigateUrl='<%# Eval("Product_ID", "../Shop/ShopDetail.aspx?Product_ID={0}") %>' runat="server">
<h4 class="Text-Spacing"><%# Eval("Name")%></h4>
</asp:HyperLink>
<h5><strong>$<%# Eval("Price") %></strong></h5>
<h5>Color: <%# Eval("Color") %></strong></h5>
<h5>Size: <%# Eval("Size") %></strong></h5>
<h5>QTY: <%# Eval("QTY") %></strong></h5>
<asp:LinkButton ID="RemoveItemLB" OnClientClick="RemoveItemJS('"+<%# Eval("Product_ID") %>+"');" runat="server"><span class="glyphicon glyphicon-remove"></span></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
答案 0 :(得分:0)
按照以下方法操作。我试过这个并且有效。
onclientclick
的值内转义引号
财产如下面的代码。\
字符以及从中发出的整个JavaScript代码
服务器端标签。在VB.Net中使用&
作为字符串连接运算符,而在标记中使用服务器端表达式中的+
。
OnClientClick='<%# "RemoveItemJS(\"" & Eval("Product_ID") & "\")" %>'
答案 1 :(得分:0)
尝试'onclick'
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
cb_KPI.DataSource = SetKPI_ValuesForComboBox(AllDataTables.Tables[tabControl1.SelectedIndex]);
}
private List<string> SetKPI_ValuesForComboBox(DataTable dt) {
List<string> kpiList = new List<string> {
"All"
};
foreach (DataRow row in dt.Rows) {
if (!kpiList.Contains(row["KPI"].ToString()))
kpiList.Add(row["KPI"].ToString());
}
return kpiList;
}