【问题标题】:Do I need to have a View Page for every Action in ASP.NET MVC?我需要为 ASP.NET MVC 中的每个操作都有一个视图页面吗?
【发布时间】:2009-01-24 06:37:49
【问题描述】:

我有一个显示客户列表的客户索引页面。我在此页面中有搜索功能,我希望在执行搜索时 URL 为 http://mysite/search?id=434。索引页也会显示搜索结果。

谢谢

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:
    public class CustomerController : Controller
    
    ...
    
    public ActionResult Search(int id)
    {
     ViewData["SearchResult"] = MySearchBLL.GetSearchResults(id);
    
     return View("Index");
    }
    
    ...
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      不,你不应该有。只需在控制器中使用View("ViewName"); 即可在其他操作中显示相应的视图。

      【讨论】:

        【解决方案3】:

        在您建议的 URL 中,您应该有一个名为“搜索”的控制器方法,并为该控制器使用“索引”视图。

        如果是这种情况,您可以将其发布回相同的操作,并在控制器中为“GET”和“POST”提供不同的代码集,以提供您正在寻找的功能。

        【讨论】:

          【解决方案4】:

          让 HTML 表单发布到呈现它的相同操作。该操作可以决定它是非搜索(首次访问)还是搜索结果呈现。该操作可以用适当的数据填充ViewData。也就是说,如果你想这样做。

          你也可以有两个视图,真的很容易。并且动作可以透明地决定要渲染哪一个。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-01-27
            • 1970-01-01
            • 1970-01-01
            • 2013-07-01
            • 2016-02-10
            • 1970-01-01
            • 1970-01-01
            • 2011-01-14
            相关资源
            最近更新 更多