我是mvc的新手,這是我的要求。我正在開發一個應該呈現文本和複選框的頁面。該複選框將根據數據庫中的T/F值進行檢查。所以我將所有必要的數據從db傳遞到視圖中,作爲GetData()方法中的Json對象。mvc解析並顯示json的複選框內容
namespace ClinicalAdvantage.Web.Controllers.UserAppSettingC
{
using System;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using NHibernate.Mapping;
public class UserAppSettingsController : Controller
{
private readonly IAgg1 agg;
public UserAppSettingsController(IAgg1 agg)
{
this.agg = agg;
}
#region Public Methods and Operators
public ActionResult Index()
{
return this.View();
}
public ActionResult GetData()
{
return new JsonNetResult() { Data = this.agg.GetAllUserAppSettings() };
}
public ActionResult Save(JObject userAppSettings)
{
if (userAppSettings != null)
{
this.agg.SaveAllUserAppSettings(userAppSettings);
}
return this.Json(new { Status = "Success" });
}
#endregion
}
}
I have once tried returning the same data written as a viewmodel as a result of the index(). I had done something like
public ActionResult Index()
{
return this.View(model);
}
And for this I wrote out the in the corresponding view as
@model ClinicalAdvantage.Web.ViewModels.UserAppSettings1.UserAppSettingsViewModel
<form action="@Url.Action("Save")" method="post">
@Html.CheckBoxFor(x => x.IsM, new { maxlength = "50", size = "50" })
<!-- Form content goes here -->
<input type="submit" value="Save" />
</form>
但由於某種原因,我沒有使用viewmodel來返回數據。所以上述編碼veiw的方式可能不對。我沒有使用GetData()將數據傳遞到前端,我無法真正改變它。公共ActionResult GetData(){返回新的JsonNetResult(){數據= this.agg.GetAllUserAppSettings()};返回新的JsonNetResult(){Data = this.agg.GetAllUserAppSettings()}; }
但我想知道如何編碼前端解析這個JSON數據,當我作爲類型JsonNetResult返回GetData方法的結果..我的視圖將在哪裏。如果我想顯示一個複選框並保存按鈕,應該是什麼代碼。該複選框將根據json返回的值填充。
這是我回國
的JSON { 「MaskPatientName」:{ 「已啓用」:真正的 「價值」:假}}
應該有一個名爲MaskPatienTName 複選框應該標籤檢查值屬性是否爲真
點擊save butoon控制器中的save方法被調用。
請幫我
謝謝Philm!我明白你的意思。但由於某種原因,我沒有使用viewmodel來返回數據。那是我先做的。但是現在我真的不能改變這種將數據傳遞到前端的方式。這是作爲一個JSON使用GetData()這樣的事情公衆的ActionResult GetData() { 返回新的JsonNetResult(){數據= this.agg.GetAllUserAppSettings()}; } – user3290168
所以你可以請告訴我如何從前端閱讀這個。我應該在哪裏寫這個視圖? – user3290168
好的,那麼爲什麼不使用ViewBag將數據從您的動作傳遞到視圖?不要讓它比需要的更復雜!在一天結束時,您只設置複選框的值 – Philm