Asp.net mvc 在MVC PartialView中获取发布的值

Asp.net mvc 在MVC PartialView中获取发布的值,asp.net-mvc,forms,post,asp.net-mvc-partialview,Asp.net Mvc,Forms,Post,Asp.net Mvc Partialview,我已经创建了一个PartialView,我使用Html.RenderPartial呈现它,传递视图的名称和要绑定到下面的强类型数据项: <% Html.RenderPartial("SearchViewUserControl", ViewData["SearchData"]); %> 您需要发布实际的表单元素,以便任何人都知道出了什么问题 表单html设置了与SearchDomain的绑定。您希望表单元素的名称如下: <input name="searchData.S

我已经创建了一个PartialView,我使用Html.RenderPartial呈现它,传递视图的名称和要绑定到下面的强类型数据项:

    <% Html.RenderPartial("SearchViewUserControl", ViewData["SearchData"]); %>

您需要发布实际的表单元素,以便任何人都知道出了什么问题

表单html设置了与SearchDomain的绑定。您希望表单元素的名称如下:

<input name="searchData.SomeProperty">
public ActionResult Save()
{
        SearchDomain domain = new SearchDomain ();

        UpdateModel(domain , new[] { "Name", "Email", "Phone", ... });
        return View(domain); 
}

让他们绑定到您的动作参数。

您需要发布实际的表单元素,让任何人都知道哪里出了问题

表单html设置了与SearchDomain的绑定。您希望表单元素的名称如下:

<input name="searchData.SomeProperty">
public ActionResult Save()
{
        SearchDomain domain = new SearchDomain ();

        UpdateModel(domain , new[] { "Name", "Email", "Phone", ... });
        return View(domain); 
}
为了让它们绑定到您的操作参数。

为了从控制器方法中从视图中拉出SearchDomain对象,您的视图必须从System.Web.Mvc.ViewPage继承,或者从包含SearchDomain对象的视图中继承

另一种方法是让视图从System.Web.Mvc.ViewPage继承,并使用UpdateModel将视图数据强制转换为SearchDomain对象。大概是这样的:

<input name="searchData.SomeProperty">
public ActionResult Save()
{
        SearchDomain domain = new SearchDomain ();

        UpdateModel(domain , new[] { "Name", "Email", "Phone", ... });
        return View(domain); 
}
为了从控制器方法中将SearchDomain对象从视图中拉出,视图必须继承自System.Web.Mvc.ViewPage或包含SearchDomain对象的

另一种方法是让视图从System.Web.Mvc.ViewPage继承,并使用UpdateModel将视图数据强制转换为SearchDomain对象。大概是这样的:

<input name="searchData.SomeProperty">
public ActionResult Save()
{
        SearchDomain domain = new SearchDomain ();

        UpdateModel(domain , new[] { "Name", "Email", "Phone", ... });
        return View(domain); 
}

老实说,我认为使用起来容易得多。

老实说,我认为使用起来容易得多。

Robert,我必须继承System.Web.Mvc.ViewPage,这是有道理的,但在本例中,我将搜索视图实现为UserControl,它派生自System.Web.Mvc.ViewUserControl。但是操作方法在与页面关联的控制器中。Robert,我必须继承System.Web.Mvc.ViewPage,这是有道理的,但在本例中,我将搜索视图实现为UserControl,它派生自System.Web.Mvc.ViewUserControl。然而,操作方法位于与页面关联的控制器中。