我一直在努力了一段時間,我有一個Javascript/C#的問題。我一直在嘗試從Javascript設置一個Session變量。我以前嘗試使用頁面方法,但它導致我的JavaScript崩潰。在JavaScript中分配文本框的值,並在C中設置值的會話#
在JavaScript:
PageMethods.SetSession(id_Txt, onSuccess);
,而這個頁面的方法:
[System.Web.Services.WebMethod(true)]
public static string SetSession(string value)
{
Page aPage = new Page();
aPage.Session["id"] = value;
return value;
}
我沒有任何這方面的成功。因此,我試圖從我的javascript中設置文本框的值,並在我的c#中放置一個OnTextChanged事件來設置會話變量,但事件未被觸發。
在JavaScript:
document.getElementById('spanID').value = id_Txt;
在HTML:
<asp:TextBox type="text" id="spanID" AutoPostBack="true" runat="server"
ClientIDMode="Static" OnTextChanged="spanID_TextChanged"
style="visibility:hidden;"></asp:TextBox>
在CS:
protected void spanID_TextChanged(object sender, EventArgs e)
{
int projectID = Int32.Parse(dropdownProjects.SelectedValue);
Session["id"] = projetID;
}
有沒有人有一個想法,爲什麼沒有我的事件,其中的解僱?你有可以嘗試的替代解決方案嗎?
內的靜'WebMethod',使用'HttpContext.Current.Session [ 「ID」] =值;' – mshsayem
一個常見的劈:將一個隱藏的asp按鈕( 'display:none')和一個隱藏字段。隱藏按鈕的「OnClientClick」,設置隱藏字段。在「OnClick」處理程序(cs)中,從隱藏字段中讀取值。調用js'$(「#buttonId」)。click()'來觸發事件。 – mshsayem