将ViewBag值转换为整数类型

时间:2014-05-21 07:19:42

标签: c# asp.net-mvc-3 razor

我的ViewBag.searchid可能包含int值或字符串。如果它包含像&#34这样的字符串值,那么这就是mvc"我将如何将该值转换为整数?

[HttpPost]
        public ActionResult SearchForEdit(string entryid)
        {
            ViewBag.searchid =entryid;            
            ViewBag.searchsong = entryid.ToString();
            ViewBag.searchalbum = entryid.ToString();
            return PartialView("SearchForEdit");
        }

entryid值将从viewbox的文本框中获取。用户可以插入id或字符串类型值

2 个答案:

答案 0 :(得分:2)

尝试这样的事情

      ViewBag.test = 13;
                if (ViewBag.test is string)
                { 
                  //This is string
                }
                else if (ViewBag.test is Int32)
                {
                   //this is integer
                }

由于ViewBag始终包含动态数据类型,因此您可以在运行时验证数据类型。

答案 1 :(得分:1)

            object searchID = ...;
            int numberResult = -1;
            if (Int32.TryParse(searchID, numberResult))
            {
                //searchID is an int and stored in numberResult
            }
            else
            {
                //searchID is a string
                //..saerchID.ToString();
            }

你不能将'this is mvc'转换为整数,因为它是一个字符串。上面的代码确定searchID是否可以转换为字符串。