2015-12-02 193 views
0

我想读一个活动视图的名称,并填写它VIEWNAME公共类在MVC 4剃刀

我做一个模型类在那里我有

public string ViewName { get; set; } 
public string Name { get; set; }  
public string Email { get; set; } 
public string Comment { get; set; } 
获取textBox中的数据怎样才能得到视图名

布局我已经写在表格标签代码是在休息发送文本框的值公共字符串类的

<form method="post" action="/Home/SendMail" id="contactfrm" role="form"> 
        <div class="col-sm-4"> 
         <div class="form-group"> 
          <label for="name">Name</label> 
          @Html.TextBox("Name", null, new { id = "name", @class = "form-control", placeholder = "Enter name", title = "Please enter your name (at least 2 characters)" }) 
         </div> 
         <div class="form-group"> 
          <label for="email">Email</label> 
          @Html.TextBox("Email", null, new { id = "email", @class = "form-control", placeholder = "Enter name", title = "Please enter a valid email address)" }) 
         </div> 
        </div> 
        <div class="col-sm-4"> 
         <div class="form-group"> 
          <label for="comments">Comments</label> 
          @Html.TextArea("Comment", null, new { id = "comments", @class = "form-control", TextMode = "MultiLine", Columns = "3", Rows = "5", placeholder = "Enter your message…", title = "Please enter your message (at least 10 characters)" }) 
         </div> 
         <button name="submit" type="submit" class="btn btn-lg btn-primary" id="submit">Send Your Message</button> 
         <div class="result"></div> 
        </div> 
       </form> 

我想读活动视图名称也填补了VIEWNAME我想现在做什么公共课程如果用相同的视图重新发布它,则会在布局中处于活动状态。你们有没有想法,我怎么能读取视图名称,并填写公共类?请让我知道在哪里可以添加此表单标签。

预先感谢您

+0

_Pubic Class_ ..来一个人..把你的时间和发布问题。没有竞争这里..还有为什么'jquery'已被标记? –

+0

男人我正在学习MVC,最近有什么不对,从那里的专家那里得到一些帮助。 – developer

+0

看到我的意思没有冒犯..我只是想让你纠正你问的问题的方式..你需要按照SO政策,而问问题..保持你的问题最小但解释..在你的上述问题解释你想要在哪里阅读'ViewName'?在'controller'中?如果是,那么在哪个'controller'中?你已经创建了模型,但是使用上面的'view'代码,你不会为你的模型创建强类型视图w.r.t,并且如果你在查看上面的代码后阅读了你的句子,那么你会发现很多错误基本上都是错误的。纠正,如果可能的话......'耻骨'有一个很不好的意思.. –

回答

1

有2种可能的方式来获得对Razor视图查看哈默尔。

首先是查看VirtualPath属性,你可以得到视图名称由路径:

@Path.GetFileNameWithoutExtension(Server.MapPath(VirtualPath)) 

二是ViewContext但如果你使用MVC对话只会工作,并没有明确地在你的控制器return View()调用传递视图名称。

@ViewContext.RouteData.Values["controller"].ToString() 
+0

嗨teo面包车感谢您的建议我收到了这样的视图@ { var ViewName = ViewContext.RouteData.Values [“action”]。ToString(); } 我想知道如何获取ViewName的get类我已经屏蔽了哪里我将调用一个代码来填充表单标签 – developer

0

如果使用RazorView 你可以通过代码查看路径如下:

(this.ViewContext.View as RazorView).ViewPath 
+0

我想发送视图名称get set class如何发送它? – developer