嘿,我正在從PHP設計的網站在ASP.net中設計一個網站。他們通過JavaScript進行形式檢查,然後通過Ajax提交所有數據(如果它通過驗證)。ASP.net調用javascript然後返回一個值到後面的代碼
是否有可能通過後面的代碼斷火從一個提交按鈕一段JavaScript和我處理要麼回發來保存數據,或者什麼也不做,直到用戶修正由指定的字段前讀取返回值JavaScript的?
嘿,我正在從PHP設計的網站在ASP.net中設計一個網站。他們通過JavaScript進行形式檢查,然後通過Ajax提交所有數據(如果它通過驗證)。ASP.net調用javascript然後返回一個值到後面的代碼
是否有可能通過後面的代碼斷火從一個提交按鈕一段JavaScript和我處理要麼回發來保存數據,或者什麼也不做,直到用戶修正由指定的字段前讀取返回值JavaScript的?
如果你正在做的JavaScript驗證,我會做,如果驗證通過一個隱藏的提交按鈕,得到由JavaScript按鈕點擊:
<input type="button" value="validate" onclick="Validate()" />
<asp:Button ID="aspButton" class="aspButton" OnClick="CodeBehindMethod" style="display: none;" />
<script>
function Validate() {
//if validation passes
$(".aspButton").click(); //This is the reason for the class on this button, since
//asp buttons have huge long stupid id names
//else do some kind of error notification
}
</script>
如果你在代碼驗證的背後,又何嘗不是隻需使用提交按鈕回發?
這真是個好主意!我將嘗試這一個。 – StealthRT
在.NET中按鈕控件有一個onClientClick,您可以在其中輸入任何js函數或代碼。謹慎的話,加上返回false;在所述代碼之後,否則.net將發射完整的回發。
這可能是hacky,但你可以考慮使用更新面板來做到這一點;只是一個想法。
是的。您可以通過多種方式來做到這一點。我更喜歡handlers,因爲它們超輕量。雖然,對於你來說,拖動他們的Javascript並使用.NET的驗證器可能會少一些工作。這裏有一個例子處理程序雖然以防萬一:
public class CheckData : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
string sInputData = context.Request["input_post_var"];
context.Response.ContentType = "text/plain";
if (!String.IsNullOrEmpty(sInputData))
context.Response.Write("1");
else
context.Response.Write("0");
}
}
您可以通過右鍵點擊你的解決方案的文件夾的其中之一,添加新項...,找到通用處理器。
你也可以使用AJAX.NET,但實際上整個框架非常臃腫,如果可以的話,我會避免它。儘管如此,這只是首選。
是的,這樣的確是可能的。 – asawyer