2015-12-02 192 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