我的问题是:asp.net控制值不传递给javascript函数
Asp.Net代码
<asp:TextBox ID="txtsubcategorycodeid" class="form-control " runat="server" placeholder="Sub Category Code ID"></asp:TextBox>
<asp:TextBox ID="txtsubcategoryname" class="form-control " runat="server" Height="25px" placeholder="Sub CategoryName In Letter"></asp:TextBox>
<asp:DropDownList ID="ddcategorycodeid" runat="server">
<asp:ListItem>---Select---</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddstatus" runat="server">
<asp:ListItem>---Select---</asp:ListItem>
<asp:ListItem>Active</asp:ListItem>
<asp:ListItem>In-Active</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnSave3" runat="server" Text="Button" OnClientClick="return btnSave3_onclick()" />
JavaScript代码
var txtsubcategorycodeid = $("#txtsubcategorycodeid").val();
var txtsubcategoryname = $("#txtsubcategoryname").val();
var ddcategorycodeid = $("#ddcategorycodeid").val();
var ddstatus = $("#ddstatus").val();
当我调用它时,它显示未定义
此代码以简单形式工作,但无法在模板上集成,我将此代码放入集成模板。 它不起作用。
This Asp.Net Code in content placeholder.
If I use input html control then its works.
答案 0 :(得分:1)
如果您使用的是ASP.NET 4或更高版本,则可以向控件添加ClientIDMode
属性,这不会改变您的ID: -
<asp:TextBox ID="txtsubcategorycodeid" class="form-control " runat="server"
placeholder="Sub Category Code ID" ClientIDMode="Static" ></asp:TextBox>
在这种情况下,如果执行此操作,您将获得正确的结果: -
var txtsubcategorycodeid = $("#txtsubcategorycodeid").val();
如果你有较低版本的ASP.NET(&lt; 4),你可以使用ClientID
属性来获取这样呈现的实际ID: -
var txtsubcategorycodeid = $("#<%= txtsubcategorycodeid.ClientID %>").val();