C# 使用actionlink将MVC 5模型从视图传递到控制器
我希望将视图中收集的数据作为模型传递给控制器。(因为我的变量太多了,我只显示了很少的变量) 这是我的模型:C# 使用actionlink将MVC 5模型从视图传递到控制器,c#,asp.net-mvc,razor,asp.net-mvc-5,C#,Asp.net Mvc,Razor,Asp.net Mvc 5,我希望将视图中收集的数据作为模型传递给控制器。(因为我的变量太多了,我只显示了很少的变量) 这是我的模型: public class Arama { public string nereden { get; set; } public int neredenTip { get; set; } public string nereye { get; set; } public int nereyeTip { get; se
public class Arama
{
public string nereden { get; set; }
public int neredenTip { get; set; }
public string nereye { get; set; }
public int nereyeTip { get; set; }
}
这是我的控制器:
public ActionResult UcakArama(Arama arama)
{
return RedirectToAction("Ukn", "U", arama);
}
以下是我的观点:
@model kyWeb.Models.Arama
@Styles.Render("~/Content/AramaEkran")
<li class="dyas_li">
<div id="nereden">
<span class="dyas_ttl">3.Çocuk</span>
<div class="smll2-select">
@Html.DropDownListFor(m => m.nereden, new SelectList(new int[] { 2, 3, 4}, 2), new { tabindex = "1", id = "yds" })
</div>
</div>
</li>
<li class="dyas_li">
<div id="nereye">
<span class="dyas_ttl">3.Çocuk</span>
<div class="smll2-select">
@Html.DropDownListFor(m => m.nereye, new SelectList(new int[] { 2, 3, 4}, 2), new { tabindex = "1", id = "yds" })
</div>
</div>
</li>
@Html.ActionLink("ARA", "ucakarama", new { arama = this.Model })
@model kyWeb.Models.Arama
@style.Render(“~/Content/AramaEkran”)
3.切克
@DropDownListFor(m=>m.nereden,new SelectList(new int[]{2,3,4},2),new{tabindex=“1”,id=“yds”})
3.切克
@DropDownListFor(m=>m.nereye,new SelectList(new int[]{2,3,4},2),new{tabindex=“1”,id=“yds”})
@ActionLink(“ARA”,“ucakarama”,new{arama=this.Model})
调试时,我看到模型正在变为null。
我想从html中获取值并将其传递到我的控制器中您不能使用
@html.ActionLink
,因为这会产生一个get
请求。您需要将属性封装在表单中,将发布到控制器操作中:
@using (Html.BeginForm())
{
//properties go here
<li class="dyas_li">
<div id="nereden">
<span class="dyas_ttl">3.Çocuk</span>
<div class="smll2-select">
@Html.DropDownListFor(m => m.nereden, new SelectList(new int[] { 2, 3, 4}, 2), new { tabindex = "1", id = "yds" })
</div>
</div>
</li>
//...etc
<input type="submit" value="Submit">
}
@使用(Html.BeginForm())
{
//财产在这里
3.切克
@DropDownListFor(m=>m.nereden,new SelectList(new int[]{2,3,4},2),new{tabindex=“1”,id=“yds”})
//…等等
}
您可以使用:
@Ajax.ActionLink("Show",
"Show",
null,
new AjaxOptions { HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "dialog_window_id",
OnComplete = "your_js_function();" })
@ActionLink需要jQuery Ajax不引人注目的库。您可以通过nuget下载:
Install-Package Microsoft.jQuery.Unobtrusive.Ajax
然后将此代码添加到视图中:
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")
下面是这样做时如何访问模型的问题?我的意思是在控制器中。@inifus[HttpPost]public ActionResult UcakArama(Arama Arama)
MVC将表单中的属性绑定到方法的参数。太棒了!非常感谢。