mvc Html.Action()

metheonline 2017-03-13 01:07:10
mvc Html.Action()方法
调用区域里的这样写没问题
@Html.Action("View1", "HomeTest", new { area = "Test", id = 1 })

调用根目录下控制器里面调用不到
@Html.Action("View1", "Home", new { id = 1 })
这个应该怎么写呢?
...全文
198 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnFUCKINGSUCKS 2017-03-14
  • 打赏
  • 举报
回复

不知道你的页面和要访问的action的对应位置是什么样的 我这样写了下是没问题的
metheonline 2017-03-14
  • 打赏
  • 举报
回复
引用 12 楼 ducker3590 的回复:

@{Html.RenderAction("View1", "Home", new { id = 1 });}
你这这种跟下面这个是一样的 ,调用都会报这个错 @Html.Action("View1", "Home", new { area = "", id = 1 }) 堆栈空间不足,无法继续安全地执行程序。调用堆栈上的函数过多或堆栈上的函数使用过多的堆栈空间时,会发生这种情况。 我是想直接在_Layout.cshtml 页面用@Html.Action()调用就可以,但是就是不行 有其他办法是,写到区域里调用,没一点问题 @Html.Action("View1", "Home", new { area = "Abc", id = 1 }) 如果有朋友知道直接调用的写法,请留言,谢谢大家回复。
csdnFUCKINGSUCKS 2017-03-13
  • 打赏
  • 举报
回复

@{Html.RenderAction("View1", "Home", new { id = 1 });}
csdnFUCKINGSUCKS 2017-03-13
  • 打赏
  • 举报
回复

@{Html.RenderAction("Home", "Home", new { id = 1 });}
metheonline 2017-03-13
  • 打赏
  • 举报
回复
引用 9 楼 hanjun0612 的回复:
[quote=引用 8 楼 qingtiansunsky 的回复:] 但是如果以分布式视图方式加载到模板页内,不可以。我是后一种实现。这个有什么好的办法解决吗。
贴出具体代码看看[/quote] _LayoutDefault.cshtml文件
!DOCTYPE html>

<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
</head>
<body>
    @Html.Partial("~/Views/Home/View.cshtml")  
    @RenderBody()
    @Html.Action("View1", "Home", new { area = "", id = 1 })
</body>
</html>
控制器
namespace TestWeb.Controllers
{
	public class HomeController : Controller
	{
		public ActionResult View1(int id=1)
		{
			var list = null;
			return View(list);
		}
	}
}
模板页里使用@Html.Action("View1", "Home", new { area = "", id = 1 })不行,正常视图页可以。
正怒月神 2017-03-13
  • 打赏
  • 举报
回复
引用 8 楼 qingtiansunsky 的回复:
但是如果以分布式视图方式加载到模板页内,不可以。我是后一种实现。这个有什么好的办法解决吗。
贴出具体代码看看
metheonline 2017-03-13
  • 打赏
  • 举报
回复
引用 7 楼 hanjun0612 的回复:
[quote=引用 6 楼 qingtiansunsky 的回复:] area="" 确定可以?我试过这样是不行的。
我确定可以。下图是我从area区域跳转到 根目录的截图 [/quote] 我刚试了下,如果是直接跳转该页面确实可以。 但是如果以分布式视图方式加载到模板页内,不可以。我是后一种实现。这个有什么好的办法解决吗。
正怒月神 2017-03-13
  • 打赏
  • 举报
回复
引用 6 楼 qingtiansunsky 的回复:
area="" 确定可以?我试过这样是不行的。

我确定可以。下图是我从area区域跳转到 根目录的截图
metheonline 2017-03-13
  • 打赏
  • 举报
回复
引用 5 楼 hanjun0612 的回复:
跳转到 根目录,其实就是没有 area的区域 将 area=""就可以了 @Html.Action("View1", "Home", new { id = 1,area="" })
area="" 确定可以?我试过这样是不行的。
正怒月神 2017-03-13
  • 打赏
  • 举报
回复
跳转到 根目录,其实就是没有 area的区域 将 area=""就可以了 @Html.Action("View1", "Home", new { id = 1,area="" })
metheonline 2017-03-13
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] @Html.Action("View1", "Home", new { id = 1 }) -》 @Html.Action("~/View1", "Home", new { id = 1 })
一楼回复错误抱歉。view1看成 为home控制器里的一个方法即可,不过包含一个名为id的参数。目录控制器代码贴出来[/quote] 访问Test区域下的可以这样实现 TestWeb.Areas.Test.Controllers @Html.Action("View1", "Home", new {area="Test", id = 1 }) 但是,根目录下的这样写就访问不到,未找到公共操作方法 TestWeb.Controllers @Html.Action("View1", "Home", new { id = 1 }) 那么,TestWeb.Controllers下的的应该怎么写呢?
exception92 2017-03-13
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
@Html.Action("View1", "Home", new { id = 1 }) -》 @Html.Action("~/View1", "Home", new { id = 1 })
一楼回复错误抱歉。view1看成 为home控制器里的一个方法即可,不过包含一个名为id的参数。目录控制器代码贴出来
metheonline 2017-03-13
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
@Html.Action("View1", "Home", new { id = 1 }) -》 @Html.Action("~/View1", "Home", new { id = 1 })
这样不行耶。
exception92 2017-03-13
  • 打赏
  • 举报
回复
@Html.Action("View1", "Home", new { id = 1 }) -》 @Html.Action("~/View1", "Home", new { id = 1 })

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧