在View内部调用控制器方法

时间:2019-06-27 14:56:09

标签: c# asp.net

我有一个View,并且想要在其中执行一些控制器方法。

  

第一种方法在select标记内添加选项;

     

绑定到按钮的第二种方法执行我需要的过程;

我尝试了很多来自google的选项,但它甚至不允许我尝试。它显示了n <- 3 mat <- matrix(letters[1:n^2], nrow = n) mat # [,1] [,2] [,3] # [1,] "a" "d" "g" # [2,] "b" "e" "h" # [3,] "c" "f" "i" mat[lower.tri(mat, diag = FALSE)] # [1] "b" "c" "f" ,无论我如何尝试。

how looks the error

它看起来像这样:

Unterminated string literal.

2 个答案:

答案 0 :(得分:0)

将文件扩展名从.html重命名为.cshtml。当前,您看到的是常规html文件的VS Code的JavaScript错误。更改文件扩展名后,它将识别出您的文件是Razor视图。

另一个选项是将VS Code中文件的基于语言的设置设置为适当的语言。您可以通过打开pub.cshtml_virtual.html文件来完成此操作,语言设置将位于VS Code的右下方。

当前,pub.cshtml_virtual.html文件将设置为HTML

Image of html option

单击HTML将其更改为aspnetcorerazor(可能需要扩展名才能获得该选项):

enter image description here

答案 1 :(得分:0)

好的,因此您需要了解MVC架构以及如何根据需要实现不同的方案。每个View由其关联的Controller呈现。您可以创建一个没有关联的View的{​​{1}},并使用诸如ModelView之类的前端脚本技术来处理JavaScript上的所有数据

我更喜欢的另一种技术是AJAX绑定,您可以为Model-View设计适当的Model并使用View绑定它们。现在,根据您的要求,您可以在Controller中预先填充Model,并使用这些值来渲染Controller。或者,您可以在View上使用强Model类型的绑定来设置表单数据,然后将其发送到关联的方法,以使用View标签进行处理。请注意,此方法将处理您的数据,然后返回适当的Form

现在转到您的案例,正在显示的错误是由于操作View中的字符串文字不正确所致。您可以在按钮事件中使用它:

onclick

点击按钮后,您将进入onclick="@("window.location.href='" + @Url.Action("Start", "Default") + "'");" 控制器的Start操作方法。