获取MVC Action上的当前页面名称

时间:2017-03-07 16:43:10

标签: c# asp.net-mvc

在我的MVC项目中,我在布局页面的页脚上有一个表单,我必须知道这个表单提交到哪个页面。

例如:对于此网址:

http://www.test.com/myWebSite.test/home

我需要Path.GetFileName(Request.Url.AbsolutePath); 部分。

我试过了:

<script src="~/Scripts/jquery-3.1.1.js"></script>
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<script src="~/Scripts/bootstrap.js"></script>
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />

@if (User.IsInRole("Admin"))
{
    <p class="btn btn-primary" data-toggle="modal" data-target="#myModal">

        @Html.ActionLink("Create New", "Create", null, new { @id = "create" })

        <div class="modal fade" id="myModal">
            <div class="modal-dialog">
                <div class="modal-content">

                    <div class="modal-header">
                        <a href="#" class="close" data-dismiss="modal">&times;</a>
                        <h3 class="modal-title">Create Modal</h3>
                    </div>

                    <div class="modal-body">
                        @Html.ActionLink("Create New", "Create", null, new { @id = "create" })

                    </div>

                    <div class="modal-footer">
                        <a href="#" class="btn btn-default" data-dismiss="modal">Cancel</a>
                        <a href="#" class="btn btn-success" >Create</a>

                    </div>
                </div>
            </div>
        </div>
    </p>

但是我得到了Action的名字,例如:

  

SubmitForm

我不知道怎么做,有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果您想获取当前的操作名称或控制器名称,请尝试以下操作:

string actionName = this.ControllerContext.RouteData.Values["action"].ToString();
string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();