在mvc中 怎么給@Html.HiddenFor()賦值


@Html.HiddenFor(model => model.CreatedBy, new { @value=currentInfo.UserID})  value始終是null
@Html.TextBoxFor(model => model.CreatedBy, new { @value=currentInfo.UserID})
這樣子value就會有值


把value 的V改大寫 就可以了
@Html.HiddenFor(model => model.RenyuanID, new { @Value = @ViewData["renyuanID"] }


http://codego.net/334085/
1. 你有一個視圖模型,而不是ViewData的?強類型的輔助與結束For並采取了lambda表達式不能與弱類型結構,如工作ViewData。 個人而言,我不要'的ViewData / ViewBag。我定義視圖模型,並有我的控制器動作通過這些視圖模型我的views。 例如,在你的情況我會定義一個視圖模型:
public class MyViewModel
{
 [HiddenInput(DisplayValue = false)]
 public string CRN { get; set; }
}
有我的控制器動作填充此視圖模型:
public ActionResult Index()
{
 var model = new MyViewModel
 {
  CRN = "foo bar"
 };
 return View(model);
}
再有我強類型視圖EditorFor助手:
@model MyViewModel
@Html.EditorFor(x => x.CRN)
這將
<input id="CRN" name="CRN" type="hidden" value="foo bar" />
在生成的HTML。 
2. 請記住第二to@Html.HiddenFor只會設定值時,它無法找到路徑或模式匹配的數據字段。達林是正確的 CodeGo.net,使用視圖模型。 
3. 我相信這是一個簡單的解決方案。 您Html.Hidden而不是Html.HiddenFor。看:
@Html.Hidden("CRN", ViewData["crn"]);
這將創建一個INPUT的標簽type="hidden",與id="CRN"name="CRN",和里面的正確值value屬性。 希望它可以幫助! 
4. 在MVC 4以下工作
@Html.HiddenFor(x => x.CRN, new { @Value = "1" });
你需要在@價值一資'V' 這里是我的模型
public int CRN { get; set; }
這里是輸出的是當你看到在瀏覽器
<input value="1" data-val="true" data-val-number="The field CRN must be a number." data-val-required="The CRN field is required." id="CRN" name="CRN" type="hidden" value="1"/>
這里是
[HttpPost]
public ActionResult MyMethod(MyViewModel viewModel)
{
 int crn = viewModel.CRN;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM