MVC和Ajax在Razor视图中注入了模型

本文关键字:注入 模型 视图 Razor Ajax MVC | 更新日期: 2023-09-27 18:27:17

以下是我试图实现的目标:

我的MVC 5应用程序接受用户的调查。我继承了EF模型,其布局大致如下:

调查

  • 问题
    • 答案

我被要求通过向Answer对象添加NestedSurveyId来使调查动态化。选择该答案后,通过将NestedSurveyId传递给控制器来调用局部视图,将在下面显示一个新的测量模型。

那部分全部工作(显示器)。问题是,当新添加的模型发送到控制器时,我不知道如何从页面中提取它。

我不知道这样做是否是个好主意。不添加这样的嵌套调查模型的原因(也许是一个糟糕的原因)。。。

调查

  • 问题
    • 答案
      • 调查

我们有时会有20个问题,我担心这个查询会破坏数据库。

当客户在我们的网站上注册,并将帖子发送给具有此签名的管理员时,这些调查就会得到回答

[HttpPost]
    public ActionResult AddCompany(AddCompanyModel model)

注入的调查是通过调用此获得的

public ActionResult ShowNestedSurvey(int surveyId)

这是ajax

@section scripts

{

    $(":radio").click(function() {
        var questionId = this.getAttribute("data-questionId");
        var nestedSurveyId = this.getAttribute("data-nestedSurveyId");
        if (nestedSurveyId != null && nestedSurveyId > 0) {
            $.ajax({
                url: "/Register/jenc/company/ShowNestedSurvey",
                type: "GET",
                dataType: "html",
                data: "answerswerId=" + nestedSurveyId,
                traditional: true,
                contentType: "application/json; charset=utf-8",
                success: function(data) {
                    $('#' + questionId).html(data);
                },
                error: function() {
                    $('#' + questionId).html("There was an error getting the survey question.");
                }
            });
        } else {
            $('#' + questionId).html("");
        }
    });
    $("form").submit(function(event) {
        alert('submitting');
        return;
    });
</script>

}

我很高兴发布代码,但这是我的第一篇文章,我不确定它是否会有帮助,或者只是把事情搞得一团糟。

谢谢你的任何帮助/建议。

MVC和Ajax在Razor视图中注入了模型

$(":radio").click(function() {
        var questionId = this.getAttribute("data-questionId");
        var nestedSurveyId = this.getAttribute("data-nestedSurveyId");  
        var url="/Register/jenc/company/ShowNestedSurvey/";
        var Message="";
if (nestedSurveyId != null && nestedSurveyId > 0) {
     $.ajax({
     url: url,
     data: { answerId: nestedSurveyId},
     cache: false,
     type: "POST",
    success: function (data){
       Message=data;
         },
    error: function (){
        Message="There was an error getting the survey question.";
         }
    });
questionId.html(Message);
 $("form").submit(function(event) {
        alert('submitting');
        return;
    });
}
};