欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

我们使用了百度编译器后再MVC传值出现的问题。

程序员文章站 2022-05-26 08:40:25
...

我们定义的百度编译器使用,

<form class="layui-form" action="/Home/TraveThink" method="post" enctype="multipart/form-data">
    <div class="set_btn  layui-upload" id="_j_cover_do">
        <a role="button" title="设置头图" class="a_set _j_addtoppiclabel" id="img"><i></i><span>设置头图</span></a>
        <img id="imgupload"  src="~/images/lvyoutop.jpg" width="1000" height="480" />
        <input type="hidden" name="TravelInformationImgurl" id="imgurl" value="" />
    </div>
    <div class="layout__panel layout__panel--articletitle-bar" style="width: 100%; height: 56px; overflow:!important visible;  ">
        <div class="article-bar flex flex--row flex--align-center">
            <div class="article-bar__input-box"><input maxlength="100" placeholder="输入文章标题"  name="TravelInformationTitle" class="article-bar__title article-bar__title--input text-input"> <span class="article-bar__number"><span class="">0</span>/100</span></div> <div class="article-bar__user-box flex flex--row">
                <button type="submit" class="btn btn-publish  layui-btn" lay-submit="" lay-filter="demo1">发布文章</button>
            </div>
        </div>
    </div>
    <script id="editor" type="text/plain" name="TravelInformationText" style="width:1000px;height:1500px;">
    </script>
    <input type="hidden" name="RegisterId" value="@Model" />
</form>

当我们提交到后台时:

<script src="~/layui/layui.js"></script>
<script>
    function ajaxrequest(jsonstr) {
        var imgurl = (jsonstr.TravelInformationImgurl).split('/');
        console.log(imgurl);
        $.ajax({
            url: "/Home/TraveThink",
            data:{ TravelInformationTitle: jsonstr.TravelInformationTitle, TravelInformationImgurl:imgurl[imgurl.length-1] , TravelInformationText: jsonstr.TravelInformationText, RegisterId: jsonstr.RegisterId  },
            type: "post",
            dataType: "json",
            success: function (data) {
                if (data==1) {
                  return layer.msg('发布成功');
                }
                
            },
            error: function (err) {

                console.log(err);
            }

        });


    }
      

    layui.use(['form', 'layedit', 'laydate', 'upload'], function (maxval) {
        var form = layui.form
            , layer = layui.layer
            , layedit = layui.layedit
            , laydate = layui.laydate;
        var $ = layui.jquery
            , upload = layui.upload;
          $("#imgurl").val( $('#imgupload').attr('src'));
        //普通图片上传
        var uploadInst = upload.render({
            elem: '._j_addtoppiclabel'
            , url: '/Home/imaesgUpload' //改成您自己的上传接口
            , before: function (obj) {
                //预读本地文件示例,不支持ie8
                obj.preview(function (index, file, result) {

                    $('#imgupload').attr('src', result); //图片链接(base64)


                });
            }
            , done: function (res) {
                console.log(res);
                //如果上传失败
                if (res.code == 200) {
                    $('#imgupload').attr('src', "/images/" + res.data); 
                     $("#imgurl").val(res.data);
                    return layer.msg('上传成功');

                }
                //上传成功
            }
            , error: function () {
                //演示失败状态,并实现重传
                var demoText = $('#demoText');
                demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                demoText.find('.demo-reload').on('click', function () {
                    uploadInst.upload();
                });
            }
        });

         //监听提交
        form.on('submit(demo1)', function (data) {
              
            var jsonstr = JSON.stringify(data.field);
            console.log(data.field.TravelInformationText);
            if (data.field.TravelInformationText == "") {
                layui.msg("随便写几句吧");
                return false;
            }
           ajaxrequest(data.field);
            
            return false;
        });
    });
</script>

会出现这样的错:

a.先看页面:

我们使用了百度编译器后再MVC传值出现的问题。

点击发布,他就会报这样的错:

我们使用了百度编译器后再MVC传值出现的问题。
未提供参数,
我本来就输入的啊。

解决方案:

    [HttpPost]
    [ValidateInput(false)] 
    public ActionResult TraveThink(TravelInformation travel)
    {
        TravelInformation_dal travelInformation_Dal = new TravelInformation_dal();
        int row = travelInformation_Dal.addTravelInformation(travel);


        return  Json(row);
    }

需要加上

 [HttpPost]
    [ValidateInput(false)] 

这段。

如果在报错,也在config.xml加上:

 <system.web>
    <compilation debug="true" targetFramework="4.7.2" />
    <httpRuntime targetFramework="4.7.2" />
    <pages   validateRequest="false"   />
  </system.web>

主要加上 <pages validateRequest="false" />

我们再来看效果:

先填写好文章:

我们使用了百度编译器后再MVC传值出现的问题。
开始发布:

我们使用了百度编译器后再MVC传值出现的问题。
可以看到值已经获取到,应该发布成功了。

我们使用了百度编译器后再MVC传值出现的问题。
可以了。
问题解决。