I want to get the value from text box in my view of asp.net mvc.
<%: Html.TextBoxFor(m => m.UserName, new { @class = "flat" })%>
If you want to get the value from a form post, MVC will automatically bind it to any parameters that match the name of the property. So if you form posted to the action MyPost it would look like this:
public ActionResult MyPost(string UserName) { //Not case sensitive, you can do userName as well
var a = UserName;
}
If you have lots of fields to post, you might want to use a request object. MVC will automatically bind properties with the same name.
public class MyRequest {
public string UserName { get; set; }
}
public ActionResult MyPost(MyRequest request)
UserName would be populated on the post.
If you wanted to pull out the values using javascript, you would probably want to put an id on the html like so:
Html.TextBoxFor(m => m.UserName, new { @class = "flat", id = "my-textbox" })
Then you could use jquery or whatever you like to select the element with that name, assuming you wanted just that property and would not be enumerating a bunch of form fields.
Assuming that your text box is inside a form, and you submitted it, you can find the value inside the model you have created, or via the formCollection
like this:
Razor syntax
@model Model_A
@using (Html.BeginForm())
{
@Html.TextBoxFor(m => m.UserName, new { @class = "flat" })
<input type="submit" value="Submit"/>
}
Controller (Use any of the following)
public ActionResult ActionName(Model_A viewModel, FormCollection formCollection)
{
viewModel.UsernName
//or
formCollection.GetValue("UserName").AttemptedValue
//or
formCollection["UserName"]
}
...or if you submit without a form
(for example using JQuery & Javascript)
Javascript
function Submit() {
var usr= document.getElementById('UserName').value;
$.ajax({
type: "POST",
url: '@Url.Action("ActionName2")',
data: "UserName=" + usr
});
return true;
}
Your controller would need to have the individual properties, as input propertied for whatever method you're submitting to.
Controller
public ActionResult ActionName2(string UserName)
{
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With