Tag: asp.net mvc

在jQuery和MVC Controller Actions之间传递非结构化JSON

关于MVC模型绑定有很多有用的信息。 我的问题源于这样一个事实:我试图避免在我的MVC应用程序中创建强类型数据,因为它主要需要充当数据路由器。 基本上,我在页面上有一组字段,有一个类’input’,我可以用jQuery(‘.input’)收集,迭代并填充到javascript对象中。 然后我将它发送到我的ASP.NET MVC控制器: var inputData = my_serialize( $(‘input’); $.ajax({ type:’POST’, url: ‘/acme/Ajax/CaptureInput’, dataType: “json”, data: { inputData: JSON.stringify(inputData) }, success: Page_Response_RegisterAndDeposit, error: Page_AjaxError }); 在C#方面,我有 public JsonResult CaptureInput(string inputDataAsJsonString) { JavaScriptSerializer JSON = new JavaScriptSerializer(); object inputData = JSON.DeserializeObject(inputDataAsJsonString); 这似乎是一个浪费的间接层,我更喜欢将数据作为contentType:application / json传递,并让CaptureInput接受一个object或IDictionary甚至dynamic 。

适用于MVC 5模型的Typeahead.js

我刚刚使用Typeahead.js为MVC 5 Models包装器实现了预先输入function http://timdwilson.github.io/typeahead-mvc-model/ 一切正常但我只是想弄清楚如何设置建议下拉列表中显示的项目数量的限制。 javascript就是这个 $(‘#scrollable-dropdown-menu .typeahead’).typeahead(null, { name: ‘countries’, limit: 10, —–> limit set here source: countries }); 但我不知道mvc模型包装器如何实现这个,有三个重载,其中一个有’AdditionalViewdata’可能这是什么需要? 没有我可以找到的文档,似乎没有其他人这样做(在下拉列表中看起来默认为5)我的后端机制IS返回超过5个结果,它只是没有反映在html中 @Html.AutocompleteFor(model => model.Organisation.Org, model => model.Organisation.ORGID, “Autocomplete”, “Organisation”, false, new { htmlAttributes = new { @class = “form-control” } }) 有人可以帮忙吗?

使用LINQ .Select()转换为新类型是TOO慢吗?

目前的项目,突破了这个问题: 客户端存储库: public class ClientRepository { // Members private masterDataContext _db; // Constructor public ClientRepository() { _db = new masterDataContext(); } public IEnumerable GetCorporateClientNames() { return _db.corporate_client_tbs.Select(o => new ClientName { id = o.id, name = o.company_name }).AsEnumerable(); } public IEnumerable GetRetailClientNames() { return _db.retail_client_tbs.Select(o => new ClientName { id = o.id, name = o.name […]

从FileResult下载文件而不保存到磁盘

我正在使用MVC 4。 我的控制器中有一个方法可以按需生成CSV文件,我希望用户可以下载该文件,而无需将其保存到服务器端的磁盘上。 所以我在File()对象上传递一个MemoryStream,以避免首先将文件保存到磁盘,然后给他下载路径。 控制器方法: [HttpGet] public ActionResult GenerateCsv(string data) var sb = new StringBuilder(); sb = GetCsvReportToString(data); var stream = new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString())); return this.File(stream, “text/csv”, “ReportCsv.csv”); } sb(StringBuilder)具有正确的数据,因为我已经调试并确认了它。 我的javascript代码: window.open(generateFileLink + ‘?data=’ + dataToSend, ‘_blank’); 该窗口实际上已打开,下载对话框出现但出现错误,表示无法从localhost下载: 名称在下载“ReportToCsv”中有所不同,因为我在问题中没有使用真实姓名,但无关紧要。 有人可以帮忙吗?

在asp.net-mvc中,使用Base ViewModel在Site.Master页面上显示动态内容的最佳方法是什么

我有一个asp.net-mvc网站,我希望在每个页面上显示一些信息。 我创建了一个名为BaseViewModel的类,每个viewModel类都inheritance自BaseViewModel。 Site.Master视图直接绑定到BaseViewModel。 现在,基类有一个名为MenuLinks的属性。 menulinks属性从数据库调用填充,因此在每个控制器操作上,我正在添加一个新行:ViewModel: viewModel.MenuLinks = _repository.GetMenuLinks(); 我有很多控制器,动作和视图模型。 有没有更清洁的方法,我可以做到上述,而不必将这一行放在每一个控制器动作上面。

asp.NET MVC C#的FastReport演示无法正常工作

FastReport发布了一个新版本,支持MVC剃刀视图中的wokring。 我从他们的网站上获得了演示,并认为我会试一试。 但我无法让演示应用程序工作。 还尝试按照以下步骤创建新项目: fast-report.com/en/blog/37/show/ 我错过了什么吗? webforms演示工作完美.. 我得到的错误: ‘FastReport.Web.WebReport’不包含’GetHtml’的定义 在_Layout.cshtml中也无法识别这些: @WebReportGlobals.Scripts() @WebReportGlobals.Styles()

为什么即使存在于数据库中,角色也显示为“不存在”(asp.net mvc)

我正在尝试在注册用户时将用户添加到角色中,因此我将这些角色播种并使用以下代码在migrations.cs类中更新数据库 var RoleManager = new RoleManager(new RoleStore(context)); string[] roleNames = { “Admin”, “Reviewer”, “User” }; IdentityResult roleResult; foreach (var roleName in roleNames) { if (!RoleManager.RoleExists(roleName)) { roleResult = RoleManager.Create(new IdentityRole(roleName)); } } 我试图将roleNames提取到我的accountcontroller类的下拉列表中 public ActionResult Register() { var model = new RegisterViewModel(); model.RolesList = new SelectList(_db.Roles, “Id”, “Name”); return View(model); } // // POST: /Account/Register […]

有没有更有效的方法来处理C#ASP.NET上的亚马逊产品广告API(特别是MVC 5)?

我终于获得了亚马逊产品广告API,可以在我的MVC 5网站上运行。 我正在使用在亚马逊网站下载之一上提供的“SignedRequestHelper”类。 我实际上已经获得了亚马逊API的参考,但我目前似乎根本没有使用它。 到目前为止我使用的是(控制器): SignedRequestHelper helper = new SignedRequestHelper(“myAWSaccessKeyID”, “mysecretKey”, “webservices.amazon.co.uk”); Dictionary items = new Dictionary(); items.Add(“Service”, “AWSECommerceService”); items.Add(“Operation”, “ItemSearch”); items.Add(“AWSAccessKeyId”, “myAWSaccessKeyID”); items.Add(“AssociateTag”, “myTag”); items.Add(“SearchIndex”, SearchIndex);//This is a string value (selectbox) items.Add(“ResponseGroup”, “Images,ItemAttributes,OfferFull,Offers,OfferSummary,Reviews”); items.Add(“Keywords”, keyword);//This is a string value string requestUrl = helper.Sign(items); ViewBag.Stuff = requestUrl;//Just so I could see the whole URL! WebRequest […]

Ajax.BeginForm导致重定向到部分视图而不是就地

我的Search.cshtml有一个名为“search-results”的div,需要更新。 SearchResults是动作名称。 我在MVC2 / VS2008项目上做了很多次,但这是我第一次使用MVC3和VS2010。 问题是,而不是我的搜索结果在我的div中呈现,它点击提交重定向我显示我的部分作为独立页面。 我已经读过这可能是因为没有启用Ajax。 我的_Layout.cshtml看起来像这样: @ViewBag.Title @(Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add(“telerik.common.css”).Add(“telerik.transparent.css”).Combined(true).Compress(true))) My MVC Application @(Html.Telerik().Menu() .Name(“menu”) .Items(menu => { menu.Add().Text(“Home”).Action(“Index”, “Home”); menu.Add().Text(“About”).Action(“About”, “Home”); menu.Add().Text(“Employees”).Action(“List”, “Employee”); })) @RenderBody() @(Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Combined(true).Compress(true))) 我是否需要添加MicrosoftMvcAjax.js或jquery.unobtrusive-ajax.js? 我的web.config(root)包含以下内容: 如果我在元素的末尾添加MicrosoftMvcAjax.js,我得到一个错误,说明命名空间’Type’是来自MicrosoftMvcAjax.js第一行的未定义错误: Type.registerNamespace(‘Sys.Mvc’);Sys.Mvc.$create_AjaxOptions=function(){return {};} 我在这里想念的是什么 我确信我的代码很好,因为它几乎从我的MVC2项目中逐字复制。

分页.net MVC – 无需从WebService下载所有记录

我有以下问题。 我想做好分页,我不想将所有记录从WebService下载到我的应用程序。 控制器代码: public ActionResult Vacations(int? page) { int pageNumber = page ?? 1; int quantity = 5; using (MyWebService.MyWebServiceClient client = new MyWebService.MyWebServiceClient()) { var vacations = client.GetUserAbsence(SessionManager.CurrentToken, quantity, pageNumber); var onePageOfVacations = vacations.ToPagedList(pageNumber, quantity); ViewBag.OnePageOfVacations = onePageOfVacations; } return View(); } 查看代码: Vacations Data od Data do Ilość dni @{ foreach (var v […]