我有一個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. 按名稱查找控件屬性
- 2. 查找區域名稱和控制器名稱與ASP.NET MVC3
- 3. 按名稱查找文件
- 4. wxpython,根據其名稱找到控件
- 5. 按名稱查找查看
- 6. 查找其名稱C#
- 7. 按名稱查找特定的控件並修改其.Value屬性
- 8. 如何使用名稱查找控件?
- 9. 按名稱查找對象
- 10. CanJS按名稱查找
- 11. 按名稱查找Groovy Closure
- 12. 在TextBoxFor MVC3中的控件名稱
- 13. 使用模式按名稱查找Windows窗體控件
- 14. 按名稱在Windows窗體中查找控件
- 15. Silverlight的 - 按姓名查找控件(串)
- 16. Grails:按名稱查找域名
- 17. 按名稱查找MVC模板查看
- 18. 查找名稱
- 19. 「查找名稱」
- 20. windows bat文件按名稱查找文件夾並返回其路徑
- 21. Firebase通過其名稱查找用戶
- 22. 按其值查找註冊表項的名稱?
- 23. C#/ J#按名稱查找功能/手動控制點擊
- 24. 設置和名稱查找控制
- 25. Mvc3添加其他控件
- 26. 無法按名稱查找元素
- 27. 按名稱在Vim中查找動作
- 28. 按名稱快速查找用戶
- 29. 按名稱查找計時器
- 30. 按數據名稱屬性查找div
是否試着通過ID在HTML中訪問一個文本框,或者您試圖訪問控制器的一個ction? – Codeman