我是ASP .NET MVC和Web编程的新手。
我想知道在选择单选按钮时是否有办法设置ViewData变量 - 但是在提交页面之前。
也许我正在咆哮错误的树,但我想要做的是创建一个表单,根据选择的单选按钮添加新字段。所以我想要做的是当点击radiobutton时它设置一个ViewData变量,并根据该ViewData变量,一个不同的局部视图加载当前字段下面的相应字段。
我想有必要做一个onclick =“一些C#函数设置ViewData(args)”
由于
答案 0 :(得分:2)
ViewData仅在请求的生命周期内存在,并且仅存在于服务器端。因此,一旦页面被渲染,该对象就不再存在。
您可以采取其他一些方法:
1 - 使用客户端Javascript根据需要添加表单和输入。更多信息: ASP.NET MVC & JQuery Dynamic Form Content
2 - 预渲染新表单,但通过CSS隐藏它,并在单击相应的单选按钮时取消隐藏它。更多信息: expand collapse html field Firefox
3 - 单击相应的单选按钮时,使用AJAX呈现新表单。更多信息: http://www.asp.net/learn/mvc/tutorial-32-cs.aspx
答案 1 :(得分:2)
有几种方法可以解决这个问题。
1)你可以有一个Ajax表单,通过Javascript你发回表单并检查它是否是一个Ajax请求,通过将部分视图返回到你指定的div。
2)按原样发布表单并检查服务器端以查看是否单击了单选按钮,从而重新显示表单并显示新选项。
如果您采用第一种方法,对于那些没有启用Javascript的人来说,很容易落到第二种方法。
没有真正的“onclick”事件,因为我假设你已经习惯了Webforms,你基本上必须推出自己的Javascript来处理这些事情。一旦你做了一些,我认为你会发现它真的不是太糟糕,有一个好处,你可以更好地控制你正在做的事情,并通过它更好地了解更大的图片。