ViewData ["s"]. ToString () и Request.QueryString ["s"]. ToString (), что возвращается, если "s" никогда не устанавливалось? - PullRequest
0 голосов
/ 10 августа 2010

Если в моем контроллере:

public ActionResult Index()
{
     //no code implied
     return View;
}

Тогда в представлении, которое возвращается:

<%if(ViewData["SomeString"].ToString() != "True") {%> show this <%}%>

Я получу ошибку во время выполнения из-за отсутствия ссылки на объект.

Однако внутри страницы, где я это делаю:

<%if(Request.QueryString["Something"].ToString() != "True") {%> show this <%}%>

Обновление: я действительно получаю сообщение об ошибке.

Редактировать: Похоже, они действуют одинаково в конце концов.

1 Ответ

3 голосов
/ 10 августа 2010

И ViewData, и QueryString вернут null для несуществующего ключа. Когда вы пытаетесь вызвать метод (в вашем случае ToString) для null ссылки на объект, вы получаете NullReferenceException.

Я не уверен, что не ясно в этой ситуации.

...