我有这样的行动方法:
public ActionResult Index(HttpPostedFileBase image, int variable)
并形成这样的元素:
variable 1:<input type="text" name="variable" value="1234" />
当我开始调试时,我遇到以下异常:
参数字典包含非可空类型'System.Int32'的参数'variable'的空条目,用于'Stream中'方法'System.Web.Mvc.ActionResult Index(System.Web.HttpPostedFileBase,Int32)'。 Controllers.HomeController”。可选参数必须是引用类型,可空类型,或者声明为可选参数。 参数名称:参数
这有什么问题?
答案 0 :(得分:1)
试试这个:
public ActionResult Index(HttpPostedFileBase image, int? variable)
问号(?)表示变量是一个可以为空的变量,然后可以为其赋值。
要了解有关可空类型的更多信息,请在MSDN上阅读:Nullable Types (C# Programming Guide)
答案 1 :(得分:0)
尝试:
<input type="text" id="variable" name="variable" value="1234" />
提供一个ID,看看你是否也遇到了同样的问题......另外,我知道你可能知道这一点,但要验证,你确实把它放在了发布的表格中,对吗?
答案 2 :(得分:0)
确保您的<input>
位于<form>
标记中,并且该表单是正在执行其操作的表单。