如果你想使這項工作,你將不得不使用表格。您可以選擇標準格式或AJAX格式,但爲了清晰起見,我將堅持採用標準格式。
是這樣的:
@using(html.BeginForm("MyAction", "SomeController")){
<div data-role="fieldcontain" class="inline-toggle">
<label for="autoreload">Yes or No? <a href="#"><img class="smallInfo" src="/sites/dev-demo/mobile/assets/images/[email protected]"></a>:</label>
<select name="autoreload" class="togglehidden" id="autoreload" data-role="slider" data-hidden-id="#autohidden">
<option [email protected](Model.IsTrue = false)>No</option>
<option [email protected](Model.IsTrue = true)>Yes</option>
</select>
<div id="autohidden" class="hide">
<input type="text" name="thevalue" id="value" value="@Model.TheValue" placeholder="">
</div>
</div>
<input type="submit" value="Submit" />
}
而在你的控制器
public class SomeController : Controller {
[HttpPost]
public ActionResult MyAction(FormCollection form){
var toggle = form["autoreload"];
var thevalue = form["value"];
}
}
或者你創建一個自定義類
public class MyModel {
public bool AutoReload {get; set;}
public string TheValue {get; set;}
}
並在您的視圖中使用它
@model MyModel
@using(html.BeginForm("MyAction", "SomeController")){
<div data-role="fieldcontain" class="inline-toggle">
<label for="autoreload">Yes or No? <a href="#"><img class="smallInfo" src="/sites/dev-demo/mobile/assets/images/[email protected]"></a>:</label>
// without razor syntax
<select name="autoreload" class="togglehidden" id="autoreload" data-role="slider" data-hidden-id="#autohidden">
<option [email protected](Model.IsTrue = false)>No</option>
<option [email protected](Model.IsTrue = true)>Yes</option>
</select>
<div id="autohidden" class="hide">
@Html.EditorFor(x => x.TheValue) // with razor syntax
</div>
</div>
<input type="submit" value="Submit" />
}
和結構的控制器,例如:
public class SomeController : Controller {
[HttpPost]
public ActionResult MyAction(MyModel model){
var toggle = model.AutoReload;
var thevalue = model.TheValue;
}
}
這是所有的C#/ ASP.NET MVC 4 101不過,你可以找到很多的信息,這一點。我建議查看these視頻!
創建一個表單,也許使用一個強類型模型和ASP.NET(不是剃鬚刀)會自動填充您的模型與適當的值。 –
我不認爲'Model.IsTrue = false'就是你想要的。這會將'Model.IsTrue'的值設置爲false而不是檢查值是什麼。另外,我不認爲你想在那裏有條件。如果您始終將值設置爲「true」或「false」,則會更容易,但是,您可能想要根據「Model.IsTrue」更改「checked」或「selected」的值。你也不需要佔位符,並用'display:none'隱藏它將導致它不被髮布。爲此嘗試使用隱藏字段。 –