2015-06-26 2 views
0

У меня есть поля ввода, которые мне нужно получить, чтобы впоследствии их можно было перенаправить на определенный контроллер, но я не знаю, как получить доступ к значениям. Может кто-нибудь, пожалуйста, дайте мне направление о том, как получить ценности?Получить значение ввода C# mvc

<form action="@Url.Action("AddSpecific", "Comment", new { AuthorT ="1", WebSiteT = "1", postIdT = 1, TextT = "1",TitleT = "1" })" method="post"> 

<h1> 
    <label for="Title">Title</label> 
    <input name="Title" id="Title" type="text" required /> 
</h1> 
<h1> 
    <label for="Text">Text</label> 
    <input name="Text" id="Text" type="text" required /> 
</h1> 
<h1> 
    <label for="AuthorSite">AuthorSite</label> 
    <input name="AuthorSite" id="AuthorSite" required /> 
</h1> 
<h1> 
    <label for="Author">Author</label> 
    <input name="Author" id="Author" type="text" required /> 
</h1> 
<h1>a 
    <label for="IdOfPost">IdOfPost</label> 
    <input name="IdOfPost" id="IdOfPost" type="number" required /> 
</h1> 

<input type="submit" value="Post comment" /> 

+0

Вы пытаетесь получить значения в javascript или в C#? – JasonWilczak

+0

C# на самом деле, хотя если вы можете найти решение в java-скрипте, я был бы более чем счастлив. – 2D3D

+0

Грамматика и читаемость. –

ответ

0

Когда вы строите вашу Форму с заявленными признаками, ваш в сущности, указывая, где он должен попытаться сообщения. После того, как вы выделите указанный атрибут, Кнопка отправки будет выполнена в этом месте. Model View Controller будет выполнять некоторые из вашего запроса автоматически, поэтому контроллер указывающий на:

public ActionResult Submit(int id, string name, string email) 
{ 
    // Utilize parameters. 
} 

Итак, если вы определяйте ваши поля формы с name, который соответствует параметру в контроллере, MVC будет пытаться соотнести указанное поле непосредственно к контроллеру. Поэтому ваш текущий подход может даже не возникнуть.

+0

Это мой контроллер общественного ActionResult AddSpecific (String AuthorT, String WebSiteT, внутр postIdT, String TextT, String TitleT) { Комментарий C = новый комментарий {Author = AuthorT, AuthorSite = WebSiteT, IdOfPost = postIdT, Text = TextT, Title = TitleT, CommentOnPost = нуль}; db.Comment.Add (C); db.SaveChanges(); return Вид(); } – 2D3D

0

Ваши входные элементы должны иметь одинаковое значение имени в качестве параметра на контроллере

Например, если ваш контроллер выглядит следующим образом:

public ActionResult AddSpecific(String AuthorT) 
{ 
    //Do Some Actions 
    return View(); 
} 

Вы должны иметь форму, которая имеет элемент с название «AuthorT»:

<form action="@Url.Action("AddSpecific")" method="post"> 

<h1> 
    <label for="Title">Title</label> 
</h1> 
    <input name="AuthorT" id="AuthorT" type="text" required /> 
    <input type="submit" value="Post Comment"/> 
</form> 

См значение имени входного элемента имеет такое же имя в качестве параметра контроллера, контроллер будет забрать этот Вал ue

1

Я хотел бы использовать модель для прохождения и использования в качестве параметра для вашего действия.

Вам необходимо изменить свою форму html, чтобы не отправлять значения по умолчанию. Изменение:

<form action="@Url.Action("AddSpecific", "Comment", new { AuthorT ="1", WebSiteT = "1", postIdT = 1, TextT = "1",TitleT = "1" })" method="post"> 

To:

<form action="@Url.Action("AddSpecific", "Comment")" method="post"> 

Вашего MySpecificObject (объект пар для действия). Обратите внимание, что имена свойств совпадают имя атрибута ваших входов, это важно:

public class MySpecificObject 
{ 
    public string AuthorSite {get;set;} 
    public string Title {get;set;} 
    public string Text {get;set;} 
    public string Author {get;set;{ 
    public string IdOfPost {get;set;} 
} 

Обновление Ваш CommentController:

public ActionResult AddSpecific(MySpecificObject mySpecificObject) 
{ 
    //mySpecificObject.IdOfPost 
    //do work 
} 

Кроме того, если вы решите, что вы хотели бы сделать это с помощью JavaScript и Ajax, проверьте этот пост StackOverflow: Post form data to Controller's action with Ajax

Смежные вопросы