相关疑难解决方法(0)

在MVC3视图中使用嵌入式javascript或单独的.js文件会更好吗?

我被告知最好将Javascript代码放在一个单独的文件中以保持关注点分离,虽然这个想法与我产生共鸣,但我觉得它并不实用.

这可能只是我的经验不足,因此这个问题.

这是一个明确的示例,我发现将代码放在View中比将其放在单独的javascript文件中更好.

在我的视图中,我需要调用JQueryUI对话框,并使用我的模型名称动态设置标题.

$("#thumbs img").click(function () {
    var url = $(this).attr("src");
    $(".image-popup").attr("src", url);

    return $("#image-popup").dialog({
        modal: true,
        closeOnEscape: true,
        minHeight: 384,
        minWidth: 596,
        resizable: false,
        show: {
            effect: 'slide',
            duration: 500,
            direction: 'up'
        },
        hide: {
            effect: 'slide',
            duration: 250,
            direction: 'up'
        },
        title: '@Model.Product.Name'
    });
});
Run Code Online (Sandbox Code Playgroud)

注意:

title: '@Model.Product.Name'
Run Code Online (Sandbox Code Playgroud)

如您所见,如果我在View中使用Javascript,我可以访问强类型模型.如果我使用单独的Javascript文件,则情况并非如此.

我做错了吗,有什么我没看到的吗?

如果我要使用单独的文件,看起来如何看,因为我无法从Javascript文件中访问模型属性?

javascript c# asp.net-mvc-3

9
推荐指数
1
解决办法
3132
查看次数

使用javascript代码访问viewbag

我在ASP.NET mvc项目中使用aspx c#作为viewengine,我想使用javascript代码从viewbag中检索值.

asp.net-mvc-3

4
推荐指数
1
解决办法
1万
查看次数

ASP.NET - 在视图中访问ViewBag

我有一个页面,使用Javascript加载几个PartialViews.我试图在一些Javascript中访问ViewBag但我遇到了问题.

我的看法:

<div>
  <script>
    var test = @ViewBag.test;
    alert(test);
  </script>
</div>
Run Code Online (Sandbox Code Playgroud)

处理此视图的控制器:

public PartialViewResult MyView()
{
  ViewBag.test = "test";
  return PartialView();
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,不会出现Javascript警报.在View的调用ViewBag下,我收到了"条件编译已关闭"的高亮显示.

c# asp.net viewbag asp.net-mvc-4

0
推荐指数
1
解决办法
9090
查看次数

ajax成功访问存储在ViewBag中的字符串

我是ASP.NET MVC的新手,我一直在寻找解决此问题的解决方案,但找不到任何合适的解决方案。我在stachoverflow上找到了一些解决方案,但没有任何解决方法。以下是一些链接:

可以从Javascript文件访问MVC ViewBag对象吗?

MVC 3-将ViewBag内容分配给Javascript字符串

这是我对服务器的ajax调用:

var xhr = new XMLHttpRequest();
        xhr.open('POST', '/Prize/UploadPassport');
        xhr.send(formdata);
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4 && xhr.status == 200) {
                var data = JSON.parse(xhr.responseText)
                if (data.nationality != "") {
                    $('#PassportData tbody').append('<tr><td data-title="@Web.Resources.MyResources.PassportNationality">' + data.nationality + '</td><td data-title="@Web.Resources.MyResources.PassportName">' + data.passportName + '</td><td><a><i id="viewApp_' + data.passportID + '" class="fa fa-search fa-lg" onclick="ViewPassport(' + data.passportID + ');"> <iframe id="img_' + data.passportID + '" class="costumeiframe"></iframe></i></a></td></tr>');
                }
                else {
                    //var errorMsg = data.errorMsg;
                    ShowDataValidationMessage("@ViewBag.FileError"); //here i'm …
Run Code Online (Sandbox Code Playgroud)

.net javascript ajax asp.net-mvc asp.net-mvc-4

0
推荐指数
1
解决办法
4448
查看次数