-1

性別のcssドロップダウンリストを持つフォームを送信しています 選択した性別の値をコントローラーに送信する方法 私は値がnullになっています

<div class="regi-field-set">

            <div id="ddlgender" class='selectBox' tabindex="7">

                      <span class='selected' id="gender">gender</span> 
        <span class='selectArrow'>&#9660</span>
                     <div id="disableasterisk5" style="padding-bottom:8px"><span class="required">*</span></div>
                  <div class="selectOptions" id="genderSelectOptions">

                <span class="selectOption" id="ddlgen">male</span>
                      <span class="selectOption" id="ddlgen1">female</span>


        </div>
                 </div>

<div class="regi-field-set">
                   @Html.TextBoxFor(model => model.DOB, new { @class = "jq_watermark", placeholder = "date of birth", tabindex = "8",id = "DOB",title = "please enter date of birth" })
                   <div id="disableasterisk7"><span class="required">*</span></div>
                  <div class="clear"></div>
                  @Html.ValidationMessageFor(model => model.DOB)
              </div>

両方の値をコントローラーに渡す方法フォームの他のすべてのフィールドはhtml.helperフィールドを使用しています性別フィールドのみがcss実装されています

モデル全体と選択した性別の値をコントローラーに渡す方法はありますか

助けてください

4

2 に答える 2

0

あなたの質問を理解した場合、「モデル」とドロップダウンリストで使用する他のもののリストの両方をビューに渡す答えは、次のコードで実行できます。

コントローラ

         ....
         var model = service.GetMyThing(id);
         var genderList= service.GetGenders().Select(p => 
                   new SelectListItem { Value = p.Id.ToString(), Text = p.Name }).ToList();
         ViewBag.GenderList = genderList; 
         return View(model);

意見

         ....
         @Html.DropDownList("GenderId",(IEnumerable<SelectListItem>)ViewBag.GenderList)
         ....
          <div class="regi-field-set">
               @Html.TextBoxFor(model => model.DOB, new { @class = "jq_watermark", placeholder = "date of birth", tabindex = "8",id = "DOB",title = "please enter date of birth" })
               <div id="disableasterisk7"><span class="required">*</span></div>
              <div class="clear"></div>
              @Html.ValidationMessageFor(model => model.DOB)
          </div>

: これが唯一の解決策ではありません。カスタム HTMLHelper を使用してコンボを描画できます。

于 2012-12-12T08:17:25.363 に答える
0

ajaxを使用すると、これを実現できます:フォームを使用しないで、タグで次のように属性を宣言します:

<a href="someLink">@Model.idText</a>
<input type="text" id="textValue"/>
<input type="submit" id="btnSubmit"/>

jquery:

 $(function (e) {
        //    Insert
        $("#btnSubmit").click(function () {

            $.ajax({
                url: "some url path",
                type: 'POST',
                data: { textField: $('#textValue').val(), idField: '@Model.idText' },
                success: function (result) {
                    //some code if success
                },
                error: function () {
                    //some code if failed
                }
            });
            return false;
        });
      });

うまくいけば、それはあなたを助けるでしょう

于 2012-12-12T08:19:14.477 に答える