我已经将自己编码到了一个角落,我接触到的建议似乎没有帮助。将JavaScript值传递给C#代码
总结:我有一个模式,它接受加载事件页面中的序列化变量,并通过从aspx页面上的div模板构建的javascript函数传递。问题是有一个ASP:在C#中调用onclick事件的模板中的LinkButton。我需要能够将我在模式中访问的一些信息传递给C#中的onclick函数。
我试过使用隐藏变量,但我似乎无法让它们在onclick上的Javascript中更改。
下面是一个的ContentTemplate链接和隐藏字段,所有的(我有两个,ASP和HTML,一直在努力都):
<asp:LinkButton ID="lnkbtnProceedChangeStatus" runat="server" OnClick="ProceedChangeStatus_Click" CommandArgument="">Yes, proceed</asp:LinkButton>
<asp:Hiddenfield ID="hiddenInputField" value="test2" runat="server"/>
<input type="hidden" name="hiddenInputFieldHTML" id="CurrentlySelectedBatchID" value="test1" runat="server"/>
我尝试用它来改变隐变量,
document.getElementById('<%= hiddenInputField.ClientID %>').value = "test123";
然后
string s = hiddenInputField.Value;
string t = hiddenInputFieldHTML.Value;
,试图将其拉出代码隐藏,但他们从来没有改变˚F rom默认值。
JavaScript代码肯定应该更新'hidden'输入。在您有机会使用它的服务器端之前,该输入的新值是否被'Page_Load'中的默认值覆盖? – David
请检查您是否将ClientIdMode = static设置为页面,以便JavaScript代码可以根据ID找到元素。 –
当然另一种选择是使用AJAX调用Web服务并绕过表单发布。 – Hogan