Я новичок в С#, но я работаю на PHP, мне нужна помощь для некоторого эквивалентного кода PHP для С#, вот мой код
if(isset($_GET['something'] == 'today')) {
$test = $_GET['something'];
} else {
$test = '';
}
Как можно написать это в С#?
Request.QueryString эквивалентен PHP $ _GET в С#. Коллекция QueryString извлекает значения переменных в строке запроса HTTP.
string test = Request.QueryString["something"];
if (test == "today")
{
// we've got test logic
}
else
{
test = string.Empty;
}
$_GET
в php - это только переменная на стороне сервера.
В ASP.NET MVC у вас есть три одинаковых места, где вы можете хранить и получать переменные:
ViewData
- Dictiorary
ViewData.Model
- строго типизированный и самый правильный путь
ViewBag
- ViewBag
Dynamic
типа.
Кроме того, вы можете получить эти параметры из HttpContext.Request.QueryString
следующим образом:
HttpContext.Request.QueryString["something"]
Но вы никогда не должны делать это в ASP.NET MVC.
ASP.NET MVC просто не работает, как это, если вам нужно написать такое предложение if в ASP.NET MVC, вы этого не понимаете.
В принципе, у вас будет какое-то "действие", например, public ActionResult Index(string something == "today") {... }
где вы можете легко проверить переменную и т.д., Она будет автоматически получена из ваших "маршрутов" и контекста HTTP-запроса,
Есть много хороших учебных ресурсов на http://www.asp.net/mvc, как бесплатные обучающие видео от Pluralsight.