Я использую C # Asp.Net и EF 4.
У меня есть сценарий, такой как MasterPage и DetailsPage.
Таким образом, из моей MasterPage я передаю переменную как QeryString в DetailsPage, DetailsPage покажет детали для определенного элемента в моей базе данных.
Мне нужно проверить действительность моей QueryString, в деталях мне нужно:
- Проверьте, имеет ли значение Null, Пусто или Пробелы.
- Проверьте, не имеет ли тип INT (только цифры, а не буквы).
- Проверьте, не существует ли объект НЕ в моей БД.
В случае если результат проверки True, я перенаправлю пользователя.
На данный момент я написал этот сценарий. Это работает, но Я хотел бы знать, если вы знаете лучший подход / код для решения этой проблемы .
Также я хотел бы знать, имеет ли смысл использовать эту логику каждый раз при загрузке страницы, или нам будет достаточно только на! Page.IsPostBack.
Еще раз спасибо за вашу поддержку, ребята!
protected void Page_Load(object sender, EventArgs e)
{
#region Logic Check Query String.
// Query String is Null or Empty.
if (string.IsNullOrWhiteSpace(ImageIdFromUrl))
RedirectToPage();
// Query String is not valid Type of INT.
int ImageId;
bool isInt = Int32.TryParse(ImageIdFromUrl, out ImageId);
if (isInt)
{
// Check if a valid Object request exist in Data Source.
using (CmsConnectionStringEntityDataModel context = new CmsConnectionStringEntityDataModel())
{
if (!context.CmsImagesContents.Any(x => x.ImageContentId == ImageId))
{
RedirectToPage();
}
}
}
else
RedirectToPage();
#endregion
}