小编Boj*_*les的帖子

从文本文件加载json

我有以下硬编码的json,

var dataLocality = [
    { "label": "Arwen" },
    { "label": "Bilbo Baggins" },
    { "label": "Boromir" },
    { "label": "Frodo Baggins" },
    { "label": "Peregrin Pippin Took" },
    { "label": "Samwise Gamgee" }
];
Run Code Online (Sandbox Code Playgroud)

我使用以下脚本填充自动填充文本框,

$(function () {
    $("#locality").autocomplete(
    {
        source: dataLocality
    })
});
Run Code Online (Sandbox Code Playgroud)

我现在有一个文本文件,通过我的应用程序名为dataLocality.text动态更新,我可以使用此代码在警报框中加载和查看,

function codeAddress() {
    jQuery.get('http://localhost/project/jSonDocs/dataWhat.txt', function (data) {
        var dataLocality = data;
        alert(dataLocality);
    });
}
window.onload = codeAddress;
Run Code Online (Sandbox Code Playgroud)

但我似乎无法制定出如何从获取数据var dataLocalitysource: dataLocality

我的文档doc中的数据如下所示,

[
    { "label": "Arwen" },
    { "label": "Bilbo Baggins" }, …
Run Code Online (Sandbox Code Playgroud)

javascript jquery json

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

MVC 5通过重用EF生成的代码使用ViewModel进行编辑

我有一个商业模型和一个EditBusinessViewModel.

在MVC 4中,我会使用类似这样的代码来编辑记录:

[HttpPost]
public ActionResult Edit(MainMenu mainmenu)
{
    if (ModelState.IsValid)
    {
        db.MainMenus.Attach(mainmenu);
        db.ObjectStateManager.ChangeObjectState(mainmenu, EntityState.Modified);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
    return View(mainmenu);
}
Run Code Online (Sandbox Code Playgroud)

现在,MVC 5中自动生成的代码如下所示,我已将此Action修改为仅包含来自EditBusinessViewModel的字段并将其命名为Edit2:

[HttpPost]
[ValidateAntiForgeryToken]
[ValidateInput(false)]
public ActionResult Edit2([Bind(Include = "ID,BusinessName,BusinessDescription,BusinessAddress,BusinessPhoneOne,BusinessPhoneTwo,BusinessWeb,BusinessEmail,BusinessMelRef")] EditBusinessViewModel business)
{
    if (ModelState.IsValid)
    {
        db.Entry(business).State = EntityState.Modified;
        db.SaveChanges();
        return Redirect("~/Home/Index/" + business.ID);
    }
    return View(business);
}
Run Code Online (Sandbox Code Playgroud)

我有Get部分工作,我的模型视图正在返回:

return View(new EditBusinessViewModel(business));
Run Code Online (Sandbox Code Playgroud)

但是当我回发时,我在这一行上收到错误:

db.Entry(business).State = EntityState.Modified;
Run Code Online (Sandbox Code Playgroud)

实体类型EditBusinessViewModel不是当前上下文的模型的一部分.我想,它不是和ViewModel的原因?

我想知道的是我可以使用此代码还是我应该做的其他事情?

更新

我一直在考虑这个问题,而ViewModel只是一个ViewModel,所以现在我有:

[HttpPost]
[ValidateAntiForgeryToken]
[ValidateInput(false)] …
Run Code Online (Sandbox Code Playgroud)

entity-framework asp.net-mvc-5

2
推荐指数
1
解决办法
1632
查看次数

使用javascript从MVC Action通过iFrame重定向到父级

我在Webforms网站上的iFrame中有一个MVC表单.表单通过以下代码提交,但我希望它重定向到Webforms站点上的父页面.它不起作用,因为我不能让RedirectResult定位父.从我过去学到的是,它无法做到?

[HttpPost]
public ActionResult Index(string FindText, string FindTown)
{
    return new RedirectResult("http://www.thesite.com/SearchResults.aspx?SearchText=" + SearchText + "&Town=" + Town);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法可以通过Javascript从Action内部定位父级来实现我想要的结果?

例如.使用,

window.parent.location.href
Run Code Online (Sandbox Code Playgroud)

如果这是可能的,我该如何写呢?

javascript asp.net-mvc

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

MVC视图模型

我在查看模型时遇到了一些麻烦,它倾向于引导我误入歧途,并在查看它的自我和意大利面条代码中进行计算,或者我回到ViewBag上.我听说过这两种方法都是不正确的.

我真的只使用数据库与MVC,所以我的所有网站都有.EDMX作为他们的模型.下面的代码返回一个IEnumerable Orders列表,它工作正常,但我应该如何将总计相加,以便我可以在列表的末尾显示它们?目前我在View中的foreach语句中这样做.

public ActionResult SalesAll()
{
    var orderproductvariants = db.OrderProductVariants.Include("Order")
        .Include("ProductVariant")
        .Include("ProductVariant.Product")
        .Where(x => x.Order.PaidDateUtc != null)
        .OrderByDescending(x => x.PriceInclTax);

    return View(orderproductvariants.ToList());
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

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