Подскажите пожалуйста как мне указать значение из таблицы вместо 1 (where h.TeamId == 1) в этом условии ???
Как связать два @html.dropdownlistfor(если я его правильно понял), то на стороне сервера (т.е. на C#) Вы не свяжете несколько выпадающих списков. Если Вам нужно, чтобы при выборе какого-либо элемента из списка №1 (пусть это будет
<select id="list_1"...>...</select>
<select id="list_2"...>...</select>
ajaxURL: '@Url.Action("CreateFeedBack", "Email")',
Url.Action("CreateFeedBack", "Email", new { note = "my some note" })
ajaxURL: '@Url.Action("CreateFeedBack", "Email", new { note = "my some note" })',
ViewBag используется при формировании страницы на сервер, т.е. сие означает следующее:
public ActionResult Index()
{
// здесь что-то явно происходит...
ViewBag.SomeVar = "some value";
return View(); // <--- явно возвращает конкретное представление
}
@{
Layout = null;
}
<h2>Index</h2>
@ViewBag.SomeVar
public ActionResult CreateFeedBack(string note)
{
ViewBag.Note = note;
return View();
}
[HttpGet]
public ActionResult Index()
{
TempData["temp"] = "any string";
return View();
}
[HttpPost]
public ActionResult Index()
{
string temp = (string)TempData["temp"];
// либо так: string temp = TempData["temp"].ToString();
return View();
}
@{Html.RenderPartial("_Navigation");}
[HttpGet]
public ActionResult Navigation()
{
List<MyClass> classes = new List<MyClass>();
classes.Add(new MyClass() { Id = 1, Name = "item 1" });
classes.Add(new MyClass() { Id = 2, Name = "item 2" });
classes.Add(new MyClass() { Id = 3, Name = "item 3" });
return View("_Navigation", classes);
}
@{Html.RenderPartial("_Navigation");}
@{Html.RenderAction("Navigation", "YourController");}
Или можно ли как то передать для _Layout.cshtml? тогда получится глобальноне понял.
public ActionResult Dialog(string dataDialogId)
{
//...
return View();
}
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
@Html.ActionLink("Вход", "Dialog", new { dataDialogId = "entry" })
@Html.ActionLink("Вход", "Dialog", null,
new
{
@class = "openDialog",
data_dialog_id = "entry",
data_dialog_title = "Вход",
data_dialog_width = "auto",
data_dialog_height = "auto"
})
<a href="/{какой-то контроллер}/Dialog" class="openDialog" data_dialog_id = "entry" data_dialog_title = "Вход" data_dialog_width = "auto" data_dialog_height = "auto">Вход</a>
routes.MapRoute(
name: "",
url: "site/{parametr}",
defaults: new { controller = "Home", action = "Index", parametr = "index" }
);
routes.MapRoute(
name: "",
url: "",
defaults: new { controller = "Home", action = "Index", parametr = "index" }
);
public ActionResult Index(string parametr)
{
if(parametr != null)
{
switch(parametr)
{
case "index":
return View();
default:
//return RedirectToAction("IndexOther", "Home");
//или
return View("IndexOther");
}
}
// Здесь что-то происходит...
return View();
}
public ActionResult Index(string parametr = "index")
{
switch(parametr)
{
case "index":
return View();
default:
//return RedirectToAction("IndexOther", "Home");
//или
return View("IndexOther");
}
// Здесь что-то происходит...
return View();
}
[HttpGet]
public ActionResult Create()
{
List<Answer> answers = new List<Answer>();
answers.Add(new Answer() { Id = 1, QuestionId = 1, Text = "Вопрос №1", Chosen = false });
PollModel viewModel = new PollModel()
{
Id = "1",
UserIdCreated = "user1",
Answers = answers
};
return View(viewModel);
}
name="Answers[0].Text
и атрибут id="Answers_0__Text"
. Так работает связыватель модели (Model Binder) в ASP.NET MVC по-умолчанию .[HttpGet]
public ActionResult Create()
{
List<Answer> answers = new List<Answer>();
answers.Add(new Answer() { Id = 1, QuestionId = 1, Text = "Вопрос №1", Chosen = false });
PollModel viewModel = new PollModel()
{
Id = "1",
UserIdCreated = "user1",
Answers = answers
};
return View(viewModel);
}
[HttpPost]
public ActionResult Create(PollModel viewModel)
{
TempData["Message"] = String.Format("Текст Вашего вопроса - {0}", viewModel.Answers.First().Text);
return View(viewModel);
}
@using TosterQuestion101113_MVC.Models;
@model PollModel
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Create</h2>
<div class="form-group">
@using (Html.BeginForm("Create", "Home", FormMethod.Post, null))
{
if (TempData["Message"] != null)
{
<div class="message">
@TempData["Message"]
</div>
}
@Html.LabelFor(e => e.Answers, new { @class = "control-label col-md-2" })
for (int i = 0; i < Model.Answers.Count(); i++)
{
<div class="col-md-10">
@Html.EditorFor(e => e.Answers[i].Text, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(e => e.Answers.Single().Text, "", new { @class = "text-danger" })
</div>
}
<div>
<input type="submit" value="ОК!" />
</div>
}
</div>
IEnumerable<Answer> Answer
изменено на IList<Answer> Answers
- потому, что Ilist предоставляет доступ к методу Count() для реализации перечисления в циклеAnswer.Single().Text
изменено на Answers[i].Text
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Condition1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(www\.)?mysite\.com$" />
</conditions>
<action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
</rule>
<rule name="Condition2" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^www\.company\.ru" />
</conditions>
<action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
...
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to company.ru 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(www\.)?mysite\.com$" />
</conditions>
<action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
</rule>
<rule name="Redirect to company.ru 2" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^www\.company\.ru" />
</conditions>
<action type="Redirect" url="http://company.ru/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
...
</configuration>