在服務器端我有它返回一個JsonResult交易:如果控制器出現故障,如何在View中顯示錯誤? ASP.NET MVC
public JsonResult DoStuff(Guid id, string userInputText)
{
var product = _repository.Product(id); //busines logic
//Only a specific product must have userInputText <= 10 characters.
//Other products may have as many characters as the user wants.
if(product == Enum.SpecificProduct && userInputText.Count() > 10)
{
//The user input text comes from the View...
//If it has more then 10 characters, need to send the errorMessage to the View.
return Json(new { success = false, errorMessage = "error message" }, JsonRequestBehavior.AllowGet);
}
//Otherwise, do stuff on the product...
//and return success at the end.
return Json(new { success = true });
}
在另一方面,在客戶端我有這樣的:
using (Ajax.BeginForm("DoStuff", ajaxOptions))
{
<span>Enter the text:</span>
@Html.TextArea("userInputText", new { onkeyup = "SyncContents(); return false;" })
<input type="submit" value="Add" />
<!-- error message should be displayed here-->
}
這是AjaxOptions:
var ajaxOptions= new AjaxOptions
{
OnSuccess = "reload",
OnFailure = "FailMessage"
};
如果輸入的文本有超過10個字符,當「添加」按鈕被按下時,控制器正在對服務器端執行代碼和失敗,我怎麼可以從那裏得到的errorMessage這裏使用在View中通知用戶?出現
<script>
function FailMessage() {
alert("Fail Post");
}
</script>
但沒有彈出「失敗後」:
我試圖提醒消息。
此致敬禮。
我不知道你的ajaxOptions如何與上面的代碼saveOptions連接。可能會將您的ajaxOptions更改爲新的Ajaxoptions {OnSuccess =「重新加載」,OnFailure =「FailMessage」},並記住在「重新加載」後添加「,」 – oopsdazie
真的很抱歉出現這些錯誤,我剛剛編輯了我的問題。 saveOptions實際上是ajaxOption,我正在處理錯誤的名稱。謝謝。 –
所以,用戶只能在文本區域..如果在11個以上的字符,用戶類型..然後你想要的錯誤信息輸入到10個字母? –