请求[string]输入字符串的格式不正确

时间:2013-07-07 19:05:06

标签: asp.net-mvc razor

我在Razor中有这个代码:

int num1 = int.Parse(Request["ddl" + item.MovieID]);

我收到错误:Input string was not in a correct format.

如何解决此问题?

我也尝试过:

string s = "ddl" + item.MovieID;
int num1 = int.Parse(Request[s]);

但我仍然得到同样的错误。这有效:

int num1 = int.Parse(Request["ddl1"]);

3 个答案:

答案 0 :(得分:1)

密钥可能不存在,并返回null。或者,该键的值不是“整数格式” - 例如,它无法解析“$ 10.00”。

答案 1 :(得分:0)

将您的代码修改为此

string s = "ddl" + item.MovieID;
string key = Request[s];
int num1 = int.Parse(key);

在第一行放置一个断点,然后单步执行代码。如果您在单步执行代码时检查skey,则很快就会发现问题。

答案 2 :(得分:0)

如果文化不正确,这是一个常见的错误。请确保字符串(要解析)符合当前的线程文化。

理想情况下,如果数据与文化无关,我们应该使用 int.Parse(data,CultureInfo.InvariantCulture)