Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用actionlink将MVC 5模型从视图传递到控制器_C#_Asp.net Mvc_Razor_Asp.net Mvc 5 - Fatal编程技术网

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将表单中的属性绑定到方法的参数。太棒了!非常感谢。