我有以下硬编码的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 dataLocality到source: dataLocality
我的文档doc中的数据如下所示,
[
{ "label": "Arwen" },
{ "label": "Bilbo Baggins" }, …Run Code Online (Sandbox Code Playgroud) 我有一个商业模型和一个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) 我在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)
如果这是可能的,我该如何写呢?
我在查看模型时遇到了一些麻烦,它倾向于引导我误入歧途,并在查看它的自我和意大利面条代码中进行计算,或者我回到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)