检索模型属性值

时间:2016-01-08 11:25:23

标签: javascript c# jquery asp.net-mvc

我有以下表格

@model project_name.Models.AddNewProduct    

<h4>Add New Product</h4>    

@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">                
                @Html.LabelFor(model => model.Product_ID, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.TextBoxFor(model => model.Product_ID, new { @class = "form-control" })
            </div>
     </div>

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div>            
    </div>
}

我想使用jquery或javascript

获取此模型属性

为此我按照下面的方法

 @model project_name.Models.AddNewProduct    

<h4>Add New Product</h4>    

@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">                
                @Html.LabelFor(model => model.Product_ID, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.TextBoxFor(model => model.Product_ID, new { @class = "form-control" })
            </div>
     </div>

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div> 
        <div id="testid" class="col-md-offset-2 col-md-10" >
            <input type="button" value="Test" class="btn btn-default" />
        </div>           
    </div>
}

然后在javascipt

<script type="text/javascript">

    $(document).ready(function () {

        var sampleID;

        $("#Product_ID").keyup(function () {
            sampleID = $('#Product_ID').val();            
        });

        $('#testid').click(function () {
            alert(sampleID);
        });
    });

</script>

但似乎这不是我的最佳方法,keyup 如果可以建议在结束后获得这些价值的好方法

4 个答案:

答案 0 :(得分:0)

您可以使用#Product_ID点击#testid点击事件获得$('#Product_ID').val()的价值,如下所示。

$('#testid').click(function () {
    alert($('#Product_ID').val());
});

答案 1 :(得分:0)

既然您正在使用剃须刀,那么您可以使用@直接在jquery中获取它,如下所示:

$(function() {
   var sampleID = "@Model.Product_ID";
});

答案 2 :(得分:0)

它看起来像是你的JS中的拼写错误。将kepup更改为keyup。

这应该按预期工作。

$("#Product_ID").keyup(function () {
  sampleID = $('#Product_ID').val();alert(sampleID);    
  //or you can use
  alert($(this).val());
});

答案 3 :(得分:0)

该模型仅限服务器端。如果您需要对视图中的值执行某些操作,则可以将其视为常规HTML页面和javascript。

如果要获取输入字段的值,请使用焦点丢失时触发的模糊事件。

$("#Product_ID").blur(function() {
  alert( "Handler for .blur() called." );
});