2013-08-29 21 views
1

我想要做的是,當用戶在提示框中輸入文本並按下確定按鈕時,提示框會將值發送回string prmt;,如果他們取消提示,它將不會執行任何操作。如何在ASP.NET中獲取提示值?

代碼:

string prmt; 
if(ren>=1) 
{ 

    ClientScript.RegisterStartupScript(this.GetType(), "prompt", "prompt('Enter your message here.')", true); 

//if(ok){} 
//if(cancel){} 

} 

對不起,我的語法。

+0

你好,我編輯了你的答案,以減輕理解。對於你的問題,使用一個隱藏的文本字段來存儲用戶輸入,這很容易用Javascript完成。或者,使用AJAX。 –

+0

謝謝你編輯我的問題。我在JavaScript和Ajax中不太流行,但我會嘗試搜索。 –

+0

如果你給我一些時間,我會給你一個例子。 –

回答

3

對於這個問題,我能想到的最佳解決方案是AJAX,但還有另外一種方法。在HTML文件中像這樣創建一個隱藏字段:

<form id="theform" runat="server"> 
     <input type="hidden" id="hidValue" runat="server" /> 
</form> 

現在應該做的下一件事是一個JavaScript塊添加到您的HTML文件。這段代碼將獲得提示的值並將其存儲在我們之前創建的隱藏字段中。像這樣的東西可能會工作:

<script type="text/javascript"> 
     function storeinput(value) { 
      document.getElementById("<%=hidValue.ClientID%>").value = value; 
     } 
</script> 

這已經創造了一個storeinput功能,即要求將隱藏字段的值設置爲提供value參數時。接下來我們需要做的是將它們與ASP.NET連接起來。取而代之的

ClientScript.RegisterStartupScript(this.GetType(), "prompt", "prompt('Enter your message here.')", true); 

這樣做:

ClientScript.RegisterStartupScript(this.GetType(), "prompt", "var value = prompt('Enter your message here.'); storeinput(value);", true); 

或者類似的東西(我不是真的ASP.NET經歷過,但我想這將正常工作)。而且你只需使用你最喜歡的ASP.NET方式簡單地檢查hidValue字段的值,你就可以走了。

+0

謝謝。問題解決了。 JavaScript必須放置在表單之前,因此它將首先加載。 –

+0

是的,JS通常放在標題中。 –