我有一個C#.Net網絡應用程序,我試圖訪問我的提議模型的編輯視圖中的控制器中的HTML/ASP文本框之一。在非MVC應用程序中,我可以使用Control.ControlCollection.Find()
執行此操作。是否有一個MVC3項目的等價物?MVC3按其名稱查找控件
回答
您要求在MVC中的相當於Control.ControlCollection.Find()
?
在MVC中,您的控制器不知道控件。
控制器僅通過參數接收數據並通過函數結果返回數據。
你想用控制器代碼中的控件做什麼?
如果您要訪問的值,你應該把它綁定到一個參數:
查看:
<input name="MyControl" type="text" />
控制器:
public ActionResult MyAction(string MyControl) {
// MyControl contains the value of the input with name MyControl
}
@Jan ....是的,你是對的。措辭不好的問題。我想要做的是設置一些默認值。腦抽筋。我現在將默認值分配給模型的屬性.... – MikeTWebb
MVC模式的目的是讓事情分離。
- 視圖已經在所有
- 控制器中沒有控制器的知識,只知道一個視圖中存在什麼樣的數據,它需要。它不知道如何數據呈現。
因此,您永遠無法從控制器獲取有關控件/標籤的信息。您需要在視圖中使用javascript/jQuery,並在控制器中調用適當的操作。
在MVC應用程序中,您沒有像webform應用程序那樣的控件。
在MVC中,您可以在控制器中收集所需的數據並將其傳遞給視圖。 典型的視圖是一個帶有嵌入代碼的HTML頁面。
與產生HTML並處理MVC後處理的webforms中的控件相反,您必須手動完成所有這些操作。所以你沒有控制器的屬性和事件,你可以輕鬆地在控制器中訪問,你必須用你自己的代碼處理你的所有帖子。
這聽起來像是很多更多的工作 - 事實上它可能是如果你實現複雜控件的行爲 - 但MVC應用程序更好維護,並且對生成的HTML有100%的影響。
那麼可能我遲到了這一點,但它應該幫助其他人在未來...ü可以隱藏字段UR值存儲在視圖,然後通過下面的代碼訪問控制器值..
Request.Form["hfAnswerOrder"].ToString();
點 - hfAnswerOrder是隱藏字段的ID
我在CSHTML頁的控制..
@Html.Hidden("hfAnswerOrder", Model.Answers.ToList()[0].AnswerOrder)
- 1. 查找區域名稱和控制器名稱與ASP.NET MVC3
- 2. wxpython,根據其名稱找到控件
- 3. 查找其名稱C#
- 4. 按名稱查找對象
- 5. CanJS按名稱查找
- 6. 使用模式按名稱查找Windows窗體控件
- 7. 按名稱在Windows窗體中查找控件
- 8. Silverlight的 - 按姓名查找控件(串)
- 9. Grails:按名稱查找域名
- 10. 按名稱查找MVC模板查看
- 11. windows bat文件按名稱查找文件夾並返回其路徑
- 12. Firebase通過其名稱查找用戶
- 13. 設置和名稱查找控制
- 14. Mvc3添加其他控件
- 15. 按名稱查找圖層索引#
- 16. Swift按名稱查找場景
- 17. 按擴展名稱查找頁面
- 18. 按通配符名稱查找列
- 19. 按名稱查找同級節點
- 20. 按名稱查找存儲過程
- 21. 德爾福,按名稱查找表格
- 22. 按公司名稱查找網址(URL)
- 23. 查找和按文件名
- 24. 在Silverlight ControlTemplate中按名稱訪問其他控件
- 25. .NET按名稱動態獲取控件
- 26. 按名稱的c#組控件
- 27. 查找名稱空間名稱時可以考慮的其他名稱與名稱空間名稱不同?
- 28. 按名稱查找Google Drive Sheet按名稱使用API 4在Android中
- 29. 找不到ASP.net用戶控件的名稱空間名稱
- 30. 查找Jar名稱使用類名稱
是否試着通過ID在HTML中訪問一個文本框,或者您試圖訪問控制器的一個ction? – Codeman