星期五, 5月 07, 2010

asp.net使用prompt

有用過javascript的都應該知道prompt, 這method可以很簡單的去跟使用者互動, 又不用使用一堆plugin就可以達成, 所以在寫案子的時候, 如果沒有啥詭異或是特別的需求, 用prompt就可以輕鬆解決這種需求, 今天就寫個範例, 來讓prompt收到的值,丟到server端來處理,直接看code吧

<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btn1" runat="server" Text="Prompt" OnClientClick="return false;" />
<asp:HiddenField ID="hid" runat="server" />
</div>
</form>
<script type="text/javascript">
$(document).ready(function () {
$('#btn1').click(function () {
var returnValue = prompt('取消原因', '');
$('#hid').val(returnValue);
ToPostBack();
});
});
</script>
</body>

public partial class prompt : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
base.OnInit(e);

btn1.Click += new EventHandler(btn1_Click);

string fn = string.Format("function ToPostBack(){{{0}}};",
ClientScript.GetPostBackEventReference(this.btn1, null));

ClientScript.RegisterStartupScript(this.GetType(), "test", fn, true);

}

void btn1_Click(object sender, EventArgs e)
{
Response.Write(hid.Value);
}
protected void Page_Load(object sender, EventArgs e)
{

}
}

用一個hiddenfield就可以做出效果啦..優低..

參考:
http://msdn.microsoft.com/zh-tw/library/z89520ac%28VS.80%29.aspx

2 則留言:

毛豆 提到...

請問ToPostBack()是指什麼呢?

Bibby 提到...

ToPostBack()
這是我自己生出來的js名稱..
內容是要來引發postback的