我的问题是: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.
最佳答案
如果您使用的是 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 (<4),则可以使用 ClientID
属性来获取正在呈现的实际 ID,如下所示:-
var txtsubcategorycodeid = $("#<%= txtsubcategorycodeid.ClientID %>").val();
关于javascript - asp.net 控件值不传递给 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329698/