2012-07-25 84 views
0

在AutoPostBack事件觸發之前,我將如何設置會話變量來點擊ASP:Button。在AutoPostBack在asp觸發之前設置會話變量:按鈕

這是我現在所擁有的,但我不完全知道我在做這個權利:

<asp:Button ID="CommitBTN" runat="server" PostBackUrl="~/MMR_Home.aspx" 
onclick="CommitBTN_Click" UseSubmitBehavior="true" 
OnClientClick='<% string temp1 = "true"; Session["ClickedFlag"] = temp1; %>' Text="Commit Changes to Database" /> 

請問這是執行此操作的正確方法還是我在它完全去錯誤?

編輯:

我的按鈕標籤更改爲此:

<asp:Button ID="CommitBTN" runat="server" PostBackUrl="~/MMR_Home.aspx" 
onclick="CommitBTN_Click" OnClientClick="document.getElementById('<%= Hidden.ClientID 
    %>').value='1'" UseSubmitBehavior="true" Text="Commit Changes to Database" /> 

我收到這是我的錯誤:

微軟JScript運行時錯誤:無法設置屬性「價值」的價值:對象爲空或未定義

+0

你需要對此查詢有更多幫助? – 2012-07-26 15:44:20

回答

1

使用此:

內aspx文件:

<form runat="server"> 
    <asp:Button ID="CommitBTN" runat="server" Text="Button" onclick="CommitBTN_Click" OnClientClick="document.getElementById('HiddenField').value='Ram'"/> 
    <asp:HiddenField ID="HiddenField" runat="server" /> 
</form> 

或者

<script type="text/javascript"> 
    function setMyHiddenField(myValue) { 
     document.getElementById('HiddenField').value = myValue; 
} 
</script> 

<form runat="server"> 
<asp:Button ID="CommitBTN" runat="server" Text="Button" onclick="CommitBTN_Click" OnClientClick="setMyHiddenField('Ram')"/> 
<asp:HiddenField ID="HiddenField" runat="server" /> 

================================= =================================

aspx.cs文件

protected void CommitBTN_Click(object sender, EventArgs e) 
    { 
     Session["ClickedFlag"] = HiddenField.Value; 
     Response.Write(Session["ClickedFlag"]); 
    } 

用您的價值代替「Ram」很容易。;)

你可以改變公羊TEMP1簡單:

setMyHiddenField( 'temp1目錄')

或者,你可以調用這個函數在您的另一控制事件befor CommitBTN按下

+0

這兩個答案我會嘗試。我永遠不會使用隱藏字段。我會讓你們知道它是怎麼回事。 – 2012-07-25 19:04:25

+0

Microsoft JScript運行時錯誤:無法設置屬性「值」的值:對象爲空或未定義 – 2012-07-25 19:22:52

+0

您能告訴我們代碼行崩潰嗎? – 2012-07-25 19:39:35

1
  1. 使用Hidden Field 控制。

  2. 將按鈕上的Hidden Field更新爲1 Client單擊。

  3. 更新Session ValuePage Load' event. The Value will be 1 then update the Session variable and set the隱藏字段value to 0 underneath the會話變量更新。

  4. 原因Page Load事件的用法是,在點擊Button爲每page life cycle頁面事件,如PreInit,初始化,InitComplete,預緊力,負載Button控制的execution之前執行。

Page events執行發生像下面..

  1. Preinit
  2. Init
  3. InitComplete
  4. PreLoad
  5. Load
  6. Control Event
  7. Load Complete
  8. Pre Render

希望這將幫助你...

相關問題