2013-06-19 74 views
0

我很難將我的View上的Select值傳遞給控制器​​。 我在我的視圖上有兩個項目,我希望返回到模型,我可以在控制器中調用它。繼承人到目前爲止我所擁有的。無法將選擇值傳遞給控制器​​

<label for="phone" class="ui-hidden-accessible">Phone Number:</label> 
@Html.TextBoxFor(m => m.PhoneNumber, new { @class = "field-margin", id="phone", type="tel", placeholder="Phone Number"}) 

<p></p> 
<div><p>Save phone for future purchases?</p> 
<select name="SavePhone"id ="SavePhone" class="SavePhone" data-role="select"> 
<option value="false" @(Model.SavePhone == false ? "selected" : "")>No</option>    
<option value="true" @(Model.SavePhone == true ? "selected" : "")>Yes</option>     
</select>< 

我不完全確定如何調用第二部分的選擇選項。然而,我的代碼的頂部接受電話號碼的作品。我在模型,控制器和視圖中的命名都是一樣的,所以我不知道下一步該怎麼做。如果您有任何建議,將不勝感激。

謝謝!


編輯

我想通了,我的問題的一部分,因爲我加載此爲

@Html.Partial("MobilePhoneView", Model) 

後,我點擊繼續在第一頁上,它加載的觀點與我的兩個選項,並在選擇區塊顯示前觸擊選擇區塊。有沒有這方面的工作?

+0

什麼是你想在這裏實現? – Andrei

+0

我想要在將我的表單提交給控制器後返回Model.SavePhone中的true或false值。我已經傳遞了模型,並且我知道這篇文章的工作原理,因爲上面的代碼的頂部工作正常。 – user2094139

+0

你遇到什麼問題? – Andrei

回答

1

你可以使用AJAX做到這一點。如果你有以下HTML

<select name="SavePhone"id ="SavePhone" class="SavePhone" data-role="select"> 
<option value="false">No</option>    
<option value="true">Yes</option>     
</select> 

然後,您可以簡單地使用下面來發送你的選擇控制器:

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 

     $("form").submit(function() { 
     $.ajax({ 
      url: '@Url.Action("MethodName","ControllerName")', 
      type: 'POST', 
      cache: false, 
      data: { Selected: $("#SavePhone").val() }, 
      success: function (data) { 
      // 
      } 
     }); 
    }); 
)}; 
</script> 

您將在控制器

private string MethodName (string Selected) 
{ 
    String value = Selected; 
    return "OK"; 
} 
+0

感謝您的建議,我會試試這個! – user2094139

0

唯一獲得此值您的代碼可能存在的問題可能與selected屬性有關。並非所有的瀏覽器都明白selected(我相信這是HTML5設置這些屬性的方式),儘管所有人都應該明白selected="selected"。那麼,你可以嘗試是:

<select name="SavePhone"id ="SavePhone" class="SavePhone" data-role="select"> 
    <option value="false" @(Model.SavePhone == false ? "selected=\"selected\"" : "")>No</option>    
    <option value="true" @(Model.SavePhone == true ? "selected=\"selected\"" : "")>Yes</option>     
</select> 
+0

我想出了我的問題的一部分,因爲我加載這個作爲 @ Html.Partial(「MobilePhoneView」,模型),點擊繼續後,它加載視圖與我的兩個選項,並擊中選擇塊之前,甚至顯示器。有沒有這方面的工作?我真的不知道現在該做什麼.. – user2094139

+0

我發現我的問題的根源,我需要創建一個@ Html.DropDownListFor(m => m.SavePhone,[true或false列表],...) 這樣的事情應該工作。你知道如何實現這個嗎? – user2094139

相關問題