2016-02-05 26 views
0

我試圖設置複選框的值(true/false)到一個字段。我可以獲得價值,但無法設置它。CheckBoxFor的設置值

在我的模型,我有:

public bool ReceiveNewsletter { get; set; } 

在我看來,我有:

model Project.Models.Parent 
@using (Ajax.BeginForm("Register", "ParentRegister", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "parent_register" })) 
{ 
    @Html.CheckBoxFor(u => u.ReceiveNewsletter, new { @class = "checkbox", type = "checkbox" }) 
} 

在我的控制器,我有:

[HttpPost] 
public ActionResult Register(Models.Parent register) 
{ 
    return Content(register.SelectedIndex.ToString()); 
} 

當我加載應用程序時,複選框未被選中,因爲ReceiveNewsletterfalse但是,當我檢查複選框和cl ick提交,它不會將值設置爲true

有誰知道我在做什麼錯?

+0

那麼你是說當你檢查複選框並提交表單,你沒有得到你的HttpPost操作方法的真正價值? – Shyju

+0

@Shyju我沒有HttpPost操作方法,當然在提交表單時,複選框的值應該添加到'ReceieveNewsletter'字段中? – KTOV

+0

那麼哪個操作方法正在照顧您提交的表單?你可以分享相關的行動方法代碼嗎? – Shyju

回答

0

我不知道你的get action方法是什麼樣的(我認爲它已經是正確的),但是你傳入了名爲register的Parent類型給你的HttpPost操作方法。你HttpPost操作方法應該是這樣的:

[HttpPost] 
public ActionResult Register(Models.Parent register) 
{ 
    return Content(register.ReceivesNewsLetter.ToString()); 
} 

我想這也將是有益的,如果你向我們展示你取得動作方法,這樣我們就可以確保你得到你所要的答案。我會在你的問題下留下評論,但我沒有足夠的觀點來做到這一點。