【发布时间】:2011-04-03 13:24:58
【问题描述】:
为什么将字符串转换/解析为int返回0/零?
在调试时,使用断点,我可以看到“3”作为字符串值发布到浏览操作,但是当我如上所述转换为 int 时,该值被转换为 int 类型的 0 值。
//
// GET: /Event/Browse
public ActionResult Browse(string category)
{
int id = Convert.ToInt32(category);
// Retrieve Category and its Associated Events from database
var categoryModel = storeDB.Categories.Include("Events").Single(g => g.CategoryId == id);
return View(categoryModel);
}
请看下图以更好地理解:
另一个图像 - categoryModel 在 LINQ 查询中为空。
【问题讨论】:
-
好吧,如果字符串是
"0",那么将其转换为int 应该返回0。您是否有其他指示的特定代码示例?愿意分享吗? -
好的,这一切看起来都很好。但是在执行 TryParse() 行之后的同一件事的屏幕截图会更有帮助。
-
只是预感-您在上图中意识到断点位于 Int32.TryParse 行上,即尚未执行,因此 id 仍为默认值 0。按F10(跨步),据我从其他当地人那里得知,它应该可以工作
标签: c# asp.net-mvc asp.net-mvc-3 entity-framework-4