2012-04-22 25 views
0

我想在表中插入一個固定的日期。我怎樣才能做到這一點 ?如何在MVC中的表中插入固定值

<div class="editor-label"> 
     Description : 
    </div> 
    <div class="editor-field"> 
     @Html.TextBoxFor(model => model.Description, new { @class = "textboxes" }) 
     @Html.ValidationMessageFor(model => model.Description) 
    </div> 

    <div class="editor-label"> 
     Date : 
    </div> 
    <div class="editor-field"> 
     @Html.TextBoxFor(model => model.Date, new { @class = "textboxes" }) /// I wanna be here a fixed date . 
     @Html.ValidationMessageFor(model => model.Date) 
    </div> 

我的控制器代碼是:

public ActionResult Index(tblOrder tblorder) 
     { 
      if (ModelState.IsValid) 
      { 
       db.tblOrders.AddObject(tblorder); 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 

      ViewBag.fxBudjet = new SelectList(db.tblBudjets, "ID", "Budjet", tblorder.fxBudjet); 
      ViewBag.fxServiceType = new SelectList(db.tblServiceTypes, "ID", "Service", tblorder.fxServiceType); 
      ViewBag.fxStartTime = new SelectList(db.tblStartDates, "ID", "StartDate", tblorder.fxStartTime); 
      return View(tblorder); 
     } 

我需要改變我的控制器代碼?

+0

可能重複的一些想法。網絡MVC](http://stackoverflow.com/questions/10265925/inserting-static-date-or-text-int-database-by-asp-net-mvc) – nemesv 2012-04-22 11:05:37

+0

不完全確定你的意思,但如果你的意思你想只顯示我的答案應該工作的價值 – Manatherin 2012-04-22 11:06:43

+0

不,我想通過我的owow插入一個日期n代碼,而不是用戶..我不想顯示任何日期。只是我想用自己的代碼註冊一個數據庫的日期。 – 2012-04-22 11:10:13

回答

2
@Html.DisplayTextFor(model => model.Date, new { @class = "textboxes" }) 

如果需要在後的日期,你可以做

@Html.DisplayTextFor(model => model.Date, new { @class = "textboxes" }) 
@Html.HiddenFor(model => model.Date) 

或POST方法,你可以使用TryUpdateModel和您的更新我排除的日期字段

編輯會在控制器中設置模型的值,例如說你有,你想,如果你想爲你可以使用一個hiddenfor或者重新創造它在後

後再次預填充年份值

public ActionResult Create() 
    { 
     return View(new Year() { Value = DateTime.Now.Year }); 
    } 

類一年,如果本場只在POST方法需要一個更好的選擇是沒有那場創建一個視圖模型,然後在POST方法的一些映射邏輯

編輯2:與MVC音樂商店,你真的應該有2種方法get和一個帖子。我會認爲這是爲了創造。

[HttpGet] 
public ActionResult Create() 
{ 
    ViewBag.fxBudjet = new SelectList(db.tblBudjets, "ID", "Budjet"); 
    ViewBag.fxServiceType = new SelectList(db.tblServiceTypes, "ID", "Service"); 
    ViewBag.fxStartTime = new SelectList(db.tblStartDates, "ID", "StartDate"); 
    return View(new tblOrder() { Date = DateTime.Now }); 
} 

[HttpPost] 
public ActionResult Create(tblOrder tblorder) 
{ 
    if (ModelState.IsValid) 
    { 
     db.tblOrders.AddObject(tblorder); 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 

    ViewBag.fxBudjet = new SelectList(db.tblBudjets, "ID", "Budjet", tblorder.fxBudjet); 
    ViewBag.fxServiceType = new SelectList(db.tblServiceTypes, "ID", "Service", tblorder.fxServiceType); 
    ViewBag.fxStartTime = new SelectList(db.tblStartDates, "ID", "StartDate", tblorder.fxStartTime); 
    return View(tblorder); 
} 

那麼在你看來像

@model tblOrder 

@Html.BeginForm() 
{ 
    @Html.DisplayTextFor(model => model.Date, new { @class = "textboxes" }) 
    @Html.HiddenFor(model => model.Date) 
    ...other form stuff 
    <input type="submit" value="Delete" /> 
} 

這應該可以給你如何解決你的代碼[通過ASP插入靜態日期或文本數據庫的

+0

我這樣做在Asp.net Webforms通過此代碼:scm.parameters.addwithvalues(「@ Date」,DateTime.Now); 。我怎樣才能在MVC做這項工作..我自己想要通過我的代碼插入日期形式..而不是由用戶。 – 2012-04-22 12:10:26

+0

我不需要顯示日期..只是我想插入它..我想知道當用戶完成此表格..我想知道註冊日期..只是這一點。 – 2012-04-22 12:13:54

+0

爲什麼不直接設置表單結果的日期?像'Model.Date = DateTime.Now' – Manatherin 2012-04-22 12:19:05

相關問題