Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Asp.net mvc Asp.Net MVC-RenderPartial-在列表视图中创建_Asp.net Mvc_Renderpartial - Fatal编程技术网

Asp.net mvc Asp.Net MVC-RenderPartial-在列表视图中创建

Asp.net mvc Asp.Net MVC-RenderPartial-在列表视图中创建,asp.net-mvc,renderpartial,Asp.net Mvc,Renderpartial,我有一个页面列出了我所有的文章(articles/List.aspx) 我还得到了一个创建文章的控件(article/create.ascx) 我希望我的List.aspx页面能够呈现Create.ascx来创建文章 我知道在MVC中,首选的方法是一页一个动作。但在这种情况下,我需要这样做。这是一个设计问题,也是客户希望网站如何工作的问题 现在,我在List.aspx中获得了以下代码: <% Html.RenderPartial("Create", new Domain.Models.Ar

我有一个页面列出了我所有的文章(articles/List.aspx)

我还得到了一个创建文章的控件(article/create.ascx)

我希望我的List.aspx页面能够呈现Create.ascx来创建文章

我知道在MVC中,首选的方法是一页一个动作。但在这种情况下,我需要这样做。这是一个设计问题,也是客户希望网站如何工作的问题

现在,我在List.aspx中获得了以下代码:

<% Html.RenderPartial("Create", new Domain.Models.Article()); %>

这是正确的渲染。但是当我点击create按钮时,它并没有进入ArticleController的create[post]方法


知道我为什么以及如何解决这个问题吗?

如果按钮有问题,则与呈现用户控件的方式无关。我们需要查看按钮所在的表单标记,它将显示最可能出现的问题

但仅供参考,您可能希望执行以下操作:

<% using (Html.BeginForm("Create", 
    ViewContext.RouteData.Values["Controller"].ToString())) { %> 

    your control markup here

<% } %>

您的控件标记在这里

问题不在于按钮,因为如果我将所有代码放在一个标准的Create.aspx页面(而不是控件)中,它就正常工作了。但是,你的权利,你的代码就是我要找的。我感谢你快速而好的回答@梅勒索斯问题很可能不是按钮,而是按钮的形式。在控件中,您需要知道要使用哪个控制器,哪个可能是您所期望的控制器,哪个可能不是。这就是为什么我包含ViewContext.RouteData.Values[“Controller”]。指的是从页面内部构建用户控件的控制器。这样你就知道你得到的是呼叫的控制器。谢谢你的澄清!这有助于我更好地理解!