.net MVC的ajax提交方式总结

1 篇文章 0 订阅

一:后端通过reqeust.form方式获取值
razor页面:

@using (Html.BeginForm("SendOrder", "YongGao", FormMethod.Post, new { id = "check-form", @class = "layui-form" }))
{
    <ul class="form-left order-confirm-list">
        <li>
            <span class="form-title">领用部门:<label style="color:red;">*</label></span>
            <div class="layui-input-inline">
                <input id="ldepname" name="ldepname" class="layui-input" type="text" value="" size="30" />
                <input id="ldep" name="ldep" type="hidden">
            </div>
            
        </li>
        <li>
            <span class="form-title">领用人:<label style="color:red;">*</label></span>
            <div class="layui-input-inline">
                <input id="lpeoname" name="lpeoname" class="layui-input" type="text" value="" size="30" />
                <input id="lpeo" name="lpeo" type="hidden">
                <input id="uid" name="uid" type="hidden" value="@uid">
            </div>
        </li>
        <li>
            <a class="btn" id="id-submit-button" href="javascript://" onclick="submit_form();">提交</a>
            <a class="btn" id="id-submit-button" href="javascript://" onclick="submit_form(true);">仅采购</a>
        </li>
    </ul>
}

Controller:

		string ldep = Request.Form["ldep"];
		string uid = Request.Form["uid"];

在这里插入图片描述第二种方式:通过ajax传类对象提交,后端接收对象都是类
1.
js:

var datas = {};
var afsDetails=[{"aaa":"123"}];
datas.afsDetails = afsDetails;

$.ajax({
                type: 'POST',
                url: '@Url.Action("AfsNoticeCheck","AfterService")',
                data: datas,
                success: function (r) {
                    layer.open({
                        title: '提示'
                        ,content: r.result,
                        yes: function (index, layero) {
                                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                parent.layer.close(index); //再执行关闭
                                parent.location.reload();  
                            }
                    }); 
                },
                error: function (a, b, v) {
                    layer.alert($.parseJSON(a.responseText).error.message);
                }
            });
--------------------------------------------------------------------------------------
或者这样:
 $.ajax({
               type: 'POST',
               url: '@Url.Action("Check","AfterService")',
               data: {
                   "afsApplyId": $("#afsApplyId").val(),
                   "auditState": $("#auditState").val(),
                   "remark": $("#remark").val(),
                   "contractInfo":{
                       "name":$("#name").val(),
                       "mobile":$("#mobile").val(),
                       "address":$("#address").val()
                    }
           
                } ,
                success: function (r) {
                    layer.open({
                        title: '提示'
                        ,content: r.result,
                        yes: function (index, layero) {
                                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                parent.layer.close(index); //再执行关闭
                                parent.location.reload();  
                            }
                    }); 
                },
                error: function () {
                    alert("服务器发生错误,请联系系统管理员!");
                }
            });

----------------------------------------------------------------------------------------
或者这样
这一种自己特别记录:

```css
<form class="layui-form" action="##" id="formcheck" onsubmit="return false">
    <div style="display:none;">
        <div class="layui-input-inline" style="width:200px !important;">
            <input type="text" name="afsApplyId" id="afsApplyId" required  lay-verify="required"   class="layui-input" value="@ViewBag.id">
        </div>
    </div>
    <div class="layui-form-item" style="margin-top:10px;">
        <label class="layui-form-label">审核状态</label>
        <div class="layui-input-block" style="width:100px !important;">
            <select name="auditState" id="auditState" lay-verify="required"  lay-filter="CheckStateEvent">
                <option value="-1"></option>
                <option value="1">通过</option>
                <option value="2">驳回</option>
            </select>
        </div>
    </div>
    <div class="layui-form-item layui-form-text">
        <label class="layui-form-label">备注</label>
        <div class="layui-input-block" style="width:400px !important;">
            <textarea name="remark" id="remark" placeholder="请输入备注" class="layui-textarea"></textarea>
        </div>
    </div>

    
    <div style="display:none;" id="ApproveShow">
        <div class="layui-form-item ">
         <label class="layui-form-label">联系人:</label>
        <div class="layui-input-inline" style="width:200px !important;">
            <input type="text" name="name" id="name"  placeholder="请输入联系人"  class="layui-input">
        </div>
        <label class="layui-form-label">联系电话:</label>
        <div class="layui-input-inline" style="width:200px !important;">
            <input type="text" name="mobile" id="mobile"  placeholder="请输入联系电话"  class="layui-input">
        </div>
    </div>
        <div class="layui-form-item layui-form-text">
        <label class="layui-form-label">联系地址</label>
        <div class="layui-input-block" style="width:400px !important;">
            <textarea name="address" id="address" placeholder="请输入联系地址" class="layui-textarea"></textarea>
        </div>
    </div>
    </div>
    
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button class="layui-btn" onclick="SubmitCheck()" id="CheckSubmit">立即提交</button>
            <button type="reset" class="layui-btn layui-btn-primary" id="opreset">重置</button>
        </div>
    </div>
</form>

js:

var formArray = $("#formcheck").serializeArray();
 $.ajax({
               type: 'POST',
               url: '@Url.Action("Check","AfterService")',
               data: formArray,
                success: function (r) {
                    layer.open({
                        title: '提示'
                        ,content: r.result,
                        yes: function (index, layero) {
                                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                parent.layer.close(index); //再执行关闭
                                parent.location.reload();  
                            }
                    }); 
                },
                error: function () {
                    alert("服务器发生错误,请联系系统管理员!");
                }
            });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在.NET MVC中,您可以使用JavaScript事件来更改@model。具体来说,您可以使用jQuery或其他JavaScript库来捕获事件并更改@model中的值。 例如,如果您有一个包含输入框的表单,您可以使用以下JavaScript代码来捕获输入框的更改事件并将值更新到@model: ``` $(document).ready(function() { $('#input-box').on('change', function() { var newValue = $(this).val(); @model.Value = newValue; }); }); ``` 在上面的代码中,我们使用jQuery的`on()`方法来捕获输入框的更改事件。一旦事件被触发,我们将新的值保存在JavaScript变量`newValue`中,并使用Razor语法更新@model的值。请注意,这个代码片段是假设@model是一个可以被更新的对象。如果@model是只读的,那么这种方法就不适用了。 ### 回答2: 在.NET MVC中,使用JS事件来更改@model是完全可行的。首先,需要在视图中定义一个@model,可以是一个模型类或者一个ViewModel。该模型将用来传递数据到视图,并且可以通过JS事件来修改。 在视图中,可以使用HTML的元素和属性来触发JS事件。通过DOM操作或者使用jQuery等框架,可以方便地获取和修改视图中的元素,从而更改@model。 例如,假设有一个使用@model来显示用户信息的视图。视图中有一个按钮,当用户点击该按钮时,可以通过JS事件获取到视图中的文本框的值,并将其更新到@model中。 具体步骤如下: 1. 在视图中定义一个@model,并设置要显示的用户信息。 2. 使用HTML元素,如button和input等,在视图中创建响应的元素。 3. 通过JS事件,如点击事件或者表单提交事件,获取到文本框的值。 4. 根据获取到的值,通过AJAX请求或者其他方式,将值传递给控制器。 5. 控制器接收到值后,可以更新相应的@model,并返回更新后的模型给视图。 6. 视图根据更新后的@model,重新渲染显示用户信息。 总之,在.NET MVC中,使用JS事件来更改@model是一种常用且有效的方法。通过HTML元素和JS事件的配合,可以方便地获取和修改视图中的@model,从而实现交互性强的用户界面。 ### 回答3: 在.NET MVC中,我们可以使用JavaScript事件来动态更改@model。这可以通过以下步骤实现: 1. 在视图文件中,我们可以使用@model指令来声明该视图使用的模型。例如,我们可以将@model指向一个名为User的模型类。 2. 在视图中,我们可以使用JavaScript事件来触发模型的更改。例如,我们可以使用一个按钮的点击事件来触发模型的更改。 3. 在JavaScript事件处理程序中,我们可以使用AJAX来将新的数据发送到服务器,并将服务器返回的数据更新到视图上对应的模型属性中。 4. 在服务器端,我们可以使用控制器的动作方法来处理接收到的数据,进行一些处理,并返回新的数据。例如,我们可以在控制器的动作方法中更新User模型的属性值。 5. 在JavaScript事件的回调函数中,我们可以通过回调函数的参数来获取服务器返回的新的数据,并将其更新到视图中对应的模型属性中。 总而言之,使用JavaScript事件可以实现动态更改@model。这样,我们就可以在不刷新整个页面的情况下,通过交互式操作来更新模型数据,并实时反映在视图上。这种方式可以增加用户体验,提高网站的响应速度。同时,使用.NET MVC提供的功能和AJAX技术,我们可以轻松地实现这种动态更新的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值