0

フォームからチェックボックスの値を取得する際に問題が発生しました。私はおそらく何か間違ったことをしているのですが、私は一生それを理解することができません。

私の見解のコードは次のようになります。

@using (Html.BeginForm("DisplayEmpPhotos", "Home", null, FormMethod.Post, new { id = "GetEmpNumbers" }))
{


<div id = "empForm">
    <br/>
    Event Name:<input type ="text" name="EventName"/>
    <br/>
    Event Dates:<input type ="text" name="EventDates"/>
    <br/>
    <br/>
    <br/>
    Enter Employee IDs:
    <br/>
    Consultant: <input type="checkbox" name="consultant" value="include" checked="checked" />
    <br/>
}

そのチェックボックスの下にいくつかのテキストボックス入力がありますが、それらは正常に機能します。

私のコントローラーのコードは次のようになります。

public ActionResult DisplayEmpPhotos(string EventName, string EventDates, string consultant)
{
    ViewData["EventName"] = EventName;
    ViewData["EventDates"] = EventDates;
    if(consultant == "include")
    {
        ViewData["Image"] = "<img src ='imgsrc' alt='First&nbsp;Last' class='nopad'/>";
        ViewData["Name"] = "First&nbsp;Last";
        ViewData["Deparment"] = "C";
        ViewData["Title"] = "Consultant";
    }

ビューにはこれが含まれています:

<td class="smalltext">
        @ViewData["Image"]
        <p>
        @ViewData["Name"]
        </p>
        @ViewData["Department"]
        <br/>
        @ViewData["Title"]
</td>

このチェックボックスをオンにすると、その値が渡され、その情報にViewdataを割り当てて、ビューに表示できるようになるはずだと思いました。このような値のハードコーディングは悪い習慣ですが、私が行っていることには問題ありません。私が間違っていることについての助けはありがたいです。

4

2 に答える 2

2

Controllerメソッドに「consultant」である必要があるときに「checkbox」という名前の変数があり、実際にはHtmlCheckBoxヘルパーを使用する必要があります。

したがって、ビューで:

Consultant: @Html.Checkbox("consultant", true)

そして、コントローラーで、値をブール値に変更します。

public ActionResult DisplayEmpPhotos(string EventName, string EventDates, bool consultant)
{
   ViewData["EventName"] = EventName;
   ViewData["EventDates"] = EventDates;

   if(consultant)
   {
       ViewData["Image"] = "<img src ='imgsrc' alt='First&nbsp;Last' class='nopad'/>";
       ViewData["Name"] = "First&nbsp;Last";
       ViewData["Deparment"] = "C";
       ViewData["Title"] = "Consultant";
   }
}

これがうまくいかない場合はお知らせください。

于 2013-03-13T16:47:28.843 に答える
0

ActionResultstring checkboxでからに変更した場合string consultant

時々MVCは私にそれをします、そして私が入力の名前を私のactionResultでそれらを宣言したのとまったく同じように変更すると、それらは機能します。

于 2013-03-13T16:47:39.380 に答える