似乎无法访问我的cshtml文件中的模型属性

时间:2018-12-24 17:10:44

标签: c# asp.net model-view-controller

因此,我正在从事一个由我之前创建的项目,并且对MVC / asp.net来说还很陌生:

概述: 用户可以提交表格。表单创建后;用户可以提交消息,而其他实体可以接受或关闭这些表单。 要求:摆脱关闭表单后添加更多聊天的功能。

该表格如下所示: !https://i.imgur.com/tqtMBL3.png

有一种添加消息的方法,它是一个Ajax调用, 该模型将在代码的其他部分中使用,例如:

$(document).ready(function () {

    if ('@Model.RequestID' != '' .......

但是,如果我尝试在该ajax调用周围创建条件时尝试在代码的其他部分或javascript控制台中引用该模型……看来我的所有尝试都是未定义的。

如何在该屏幕快照中呈现的部分表单的模型//属性内访问那些属性成员?

如果这还不够,我将很乐意扩展我的问题。

编辑:

我仍然感到困惑: 在文档的顶部, 声明模型:

@model blahblahblahViewModel。

如何访问此模型?

每当我尝试做任何事情时,我都会得到喜欢的东西:

VM282:1未捕获的参考错误:模型未定义     在:1:1

我正在尝试在函数内部访问此函数: 就像...

PS:PSUEDOCODE

function submitUserMessage() {

    var message = $('#btn-input').val();
    var id = $('#requestId').val();
    var user = $('#contactUser').val();
    var status = Model.GetStatus;

IF status = 'certain status'
Ajax call.

1 个答案:

答案 0 :(得分:0)

要访问模型,您需要取消对'@ Modal.RequestId'的引用。     if (@Model.RequestID != '')if(isNullOrEmpty(@Model.RequestID))

您无法在JavaScript控制台中访问@Model的原因是因为这是C#代码。从文件名“ cshtml”可以看到,这不是普通的html文件。 在将html文件作为HTTPResponse返回给客户端浏览器之前,ASP.NET引擎在服务器端呈现此“ cshtml”文件。

您可能要注意的另一件事是,从jQuery 3.0开始,$(document).ready(func).被视为已弃用。更好的书写方式是:$(function(){ }).确实非常简洁。