我已經將自己編碼到了一個角落,我接觸到的建議似乎沒有幫助。將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