C# 在asp.net webforms中使用JQuery为隐藏表单字段赋值
我有一个在webforms中工作的项目,我在尝试给隐藏的表单字段赋值,然后从代码后面访问它时遇到了一个问题;这将导致一个空值。我通常处理MVC应用程序,所以我有点困惑 这是JQuery:C# 在asp.net webforms中使用JQuery为隐藏表单字段赋值,c#,jquery,asp.net,webforms,C#,Jquery,Asp.net,Webforms,我有一个在webforms中工作的项目,我在尝试给隐藏的表单字段赋值,然后从代码后面访问它时遇到了一个问题;这将导致一个空值。我通常处理MVC应用程序,所以我有点困惑 这是JQuery: $('.button-submit').click(function () { var foo = 'bar'; $('#hiddenField').val(foo); }); 这是我的表格: <form id="form1" runat="server"> <in
$('.button-submit').click(function () {
var foo = 'bar';
$('#hiddenField').val(foo);
});
这是我的表格:
<form id="form1" runat="server">
<input type="hidden" id="hiddenField" value="" />
<asp:Button ID="ButtonSubmit" runat="server" OnClick="ButtonSubmit_Click" Text="Add New" class="button-submit" />
</form>
Request.Form[“hiddenField”]
为null
。我还尝试了Request.Params
,得到了一个null
。关于如何修复此代码或推荐更好的实现方法,有什么想法吗?我还尝试使用一个asp:HiddenField
控件,该控件正在获取指定的值(使用alert($(“#HiddenField').val()
)进行测试),但在代码后面仍然是一个空字符串。如果使用asp:HiddenField
控件,js应该是这样的:
$('.button-submit').click(function () {
var foo = 'bar';
$('#<%=controlID.ClientID%>').val(foo);
});
$('.button submit')。单击(函数(){
var foo='bar';
$('#').val(foo);
});
如果使用asp:HiddenField
控件,js应该是这样的:
$('.button-submit').click(function () {
var foo = 'bar';
$('#<%=controlID.ClientID%>').val(foo);
});
$('.button submit')。单击(函数(){
var foo='bar';
$('#').val(foo);
});
我真的不明白您为什么不使用Asp隐藏控件,但即使您仍然想按自己的方式使用,我建议您添加名称
<form id="form1" runat="server">
<input type="hidden" name="hiddenField" id="hiddenField" value="" />
<asp:Button ID="ButtonSubmit" runat="server" OnClick="ButtonSubmit_Click" Text="Add New" class="button-submit" />
</form>
我真的不明白您为什么不使用Asp隐藏控件,但即使您仍然想按自己的方式使用,我建议您添加名称
<form id="form1" runat="server">
<input type="hidden" name="hiddenField" id="hiddenField" value="" />
<asp:Button ID="ButtonSubmit" runat="server" OnClick="ButtonSubmit_Click" Text="Add New" class="button-submit" />
</form>
javaScript应该使用aspx引用,比如AV sujested
$('.button-submit').click(function () {
var foo = 'bar';
$('#<%=hiddenField.ClientID%>').val(foo);
});
尽管这可能不是实现这一目标的最佳方式
或许可以试试这个:
<form id="form1" runat="server">
<asp:hiddenfield id="hiddenField" runnat="server" />
<asp:Button ID="ButtonSubmit" runat="server" OnClick="javascript:FOO()" Text="Add New" />
</form>
用剧本
function FOO() {
var foo = 'bar';
$('#<%=hiddenFeild.ClientID %>').val(foo);
__doPostBack('<%=form1.ClientID %>', '');
}
函数FOO(){
var foo='bar';
$('#').val(foo);
__doPostBack('','');
}
javaScript应该使用aspx引用,比如AV sujested
$('.button-submit').click(function () {
var foo = 'bar';
$('#<%=hiddenField.ClientID%>').val(foo);
});
尽管这可能不是实现这一目标的最佳方式
或许可以试试这个:
<form id="form1" runat="server">
<asp:hiddenfield id="hiddenField" runnat="server" />
<asp:Button ID="ButtonSubmit" runat="server" OnClick="javascript:FOO()" Text="Add New" />
</form>
用剧本
function FOO() {
var foo = 'bar';
$('#<%=hiddenFeild.ClientID %>').val(foo);
__doPostBack('<%=form1.ClientID %>', '');
}
函数FOO(){
var foo='bar';
$('#').val(foo);
__doPostBack('','');
}
您需要告诉它在服务器上运行才能访问它。您可以在客户端很好地访问该值,这就是为什么警报($(“#”).val();
可以工作的原因。如果您想在服务器上读取该值,则需要在服务器上运行它
<input type="hidden" id="hiddenField" runat="server" value="" />
非常确定这将解决您的问题您需要告诉它在服务器上运行,以便访问它。您可以在客户端很好地访问该值,这就是为什么
警报($(“#”).val();
可以工作的原因。如果您想在服务器上读取该值,则需要在服务器上运行它
<input type="hidden" id="hiddenField" runat="server" value="" />
非常确定这将解决您的问题在隐藏字段中添加ClientIDMode=“Static”
请参阅此链接:.在隐藏字段上添加clientmode=“Static”
请参阅此链接:.我尝试了此操作,尽管值被分配给了控件(如果我尝试alert($('#').val()),我会得到显示“bar”的弹出窗口,但是如果我在代码后面插入断点,我仍然会得到一个空字符串。我尝试了此操作,尽管值被分配给了控件(如果我尝试alert($('#').val());我得到一个显示“bar”的弹出窗口,但是如果我在后面的代码中插入一个断点,我仍然会得到一个空字符串。我尝试了这两种方法;实际上是先使用asp控件。这两种方法都不适用于我。我尝试了这两种方法;实际上是先使用asp控件。这两种方法都不适用于我。