如何在JavaScript函数中添加值?

时间:2018-02-05 00:24:31

标签: javascript asp.net

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>

2 个答案:

答案 0 :(得分:0)

按照以下方法操作。我试过这个并且有效。

  1. 您需要在onclientclick的值内转义引号 财产如下面的代码。
  2. 请注意,双引号使用反斜杠进行转义,即\ 字符以及从中发出的整个JavaScript代码 服务器端标签。
  3. 在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;
}