因此,我正在从事一个由我之前创建的项目,并且对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.
答案 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(){ }).
确实非常简洁。