0

我在 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"]);
4

3 回答 3

1

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

于 2013-07-07T19:06:29.917 回答
0

将您的代码修改为此

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

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

于 2013-07-07T22:44:19.840 回答
0

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

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

于 2013-07-08T04:54:53.487 回答