实体模型
public partial class Categoies
{
public Categoies()
{
this.Posts = new HashSet<Posts>();
}
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Nullable<int> PositionId { get; set; }
public virtual CategoryPositions CategoryPositions { get; set; }
public virtual ICollection<Posts> Posts { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
查看模型
public class CategoriesViewModel
{
public int Id { get; set; }
[Required(ErrorMessage = "{0} alan? bo? b?rak?lmamal?d?r!")]
[Display(Name = "Kategori …Run Code Online (Sandbox Code Playgroud) 在外部js文件中,我无法使用
url = "@Url.Action("Action", "Controller")"
//url output : @Url.Action("Action", "Controller")
//I get IllegalPath Name error.
Run Code Online (Sandbox Code Playgroud)
我写这样的时候:
url = "/Controller/Action"
Run Code Online (Sandbox Code Playgroud)
如果项目位于子文件夹下,则脚本不起作用.我需要这样的东西作为相对的Url:
url = "~/Controller/Action"
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?谢谢.
好吧,我一直在谷歌搜索几个小时,尝试一切,无法得到任何工作.我正在使用Sharp Architecture学习MVC并生成了一些用于创建Client对象的基本表单.我想用美国州列表填写州下拉列表,让用户从该列表中选择.我能够填充列表并获取值(以保存客户端),但是当我去编辑客户端时,未选择客户端的当前状态.我在SelectList中设置了所选的值:
<li>
<label for="Client_StateProvince">StateProvince:</label>
<div>
<%= Html.DropDownListFor(c=>c.Client.StateProvince, new SelectList(Model.StateProvinces, "id", "Name", Model.Client.StateProvince), "-- Select State --")%>
</div>
<%= Html.ValidationMessage("Client.StateProvince")%>
</li>
Run Code Online (Sandbox Code Playgroud)
这似乎不够好.我错过了什么?
我有一个小数值,例如: 59625879,00
我想像这样显示这个值:59.625,879或者59625,879
我怎么能这样做@Html.DisplayFor(x => x.TAll, String.Format())?
谢谢.
我用以下代码创建一个视图
SELECT
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1' AS sno,
YEAR(okuma_tarihi) AS Yillar,
SUM(toplam_kullanim_T1) AS TotalUsageValue, 'T1' AS UsageType
FROM
TblSayacOkumalari
GROUP BY
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1', YEAR(okuma_tarihi)
UNION ALL
SELECT
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T2' AS sno,
YEAR(okuma_tarihi) AS Yillar,
SUM(toplam_kullanim_T2) AS TotalUsageValue, 'T2' AS UsageType
FROM
TblSayacOkumalari
GROUP BY
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1', YEAR(okuma_tarihi)
UNION ALL
SELECT
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T3' AS sno,
YEAR(okuma_tarihi) AS Yillar,
SUM(toplam_kullanim_T3) AS TotalUsageValue, 'T3' AS UsageType
FROM
TblSayacOkumalari
GROUP BY
CONVERT(NVARCHAR, YEAR(okuma_tarihi)) + 'T1', YEAR(okuma_tarihi) …Run Code Online (Sandbox Code Playgroud) Index.html(查看)
<div class="categories_content_container">
@Html.Action("_AddCategory", "Categories")
</div>
Run Code Online (Sandbox Code Playgroud)
_AddCategory.cshtml(PartialView)
<script>
$(document).ready(function () {
$('input[type=submit]').click(function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: '@Url.Action("_AddCategory", "Categories")',
dataType: "json",
data: $('form').serialize(),
success: function (result) {
$(".categories_content_container").html(result);
},
error: function () {
}
});
});
});
</script>
@using (Html.BeginForm())
{
// form elements
}
Run Code Online (Sandbox Code Playgroud)
调节器
[HttpPost]
public ActionResult _AddCategory(CategoriesViewModel viewModel)
{
if(//success)
{
// DbOperations...
return RedirectToAction("Categories");
}
else
{
// model state is not valid...
return PartialView(viewModel);
}
}
Run Code Online (Sandbox Code Playgroud)
问题:如果操作成功,我希望重定向到另一个页面(类别).但没有动作,没有错误信息.如果操作不成功,它就像我预期的那样工作.
我怎样才能做到这一点?如何使用AJAX帖子路由另一个页面?
区域文件夹看起来像:
Areas
Admin
Controllers
UserController
BranchController
AdminHomeController
Run Code Online (Sandbox Code Playgroud)
项目目录如下所示:
Controller
UserController
GetAllUsers
Run Code Online (Sandbox Code Playgroud)
区域路线登记
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new { controller = "Branch|AdminHome|User" }
);
}
Run Code Online (Sandbox Code Playgroud)
项目路线登记
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "MyApp.Areas.Admin.Controllers" });
}
Run Code Online (Sandbox Code Playgroud)
当我像这样路由:http://mydomain.com/User/GetAllUsers我得到资源未找到错误(404).将UserController添加到Area后,我收到此错误.
我该如何解决这个错误?
谢谢...
jquery 1.9.0中没有live()函数,但jquery.unobtrusive.ajax.js已经使用了这个函数.
我应该使用旧版本的jquery还是其他方式?
我的MVC控制器中有以下代码:
[HttpPost]
public PartialViewResult GetPartialDiv(int id /* drop down value */)
{
PartyInvites.Models.GuestResponse guestResponse = new PartyInvites.Models.GuestResponse();
guestResponse.Name = "this was generated from this ddl id:";
return PartialView("MyPartialView", guestResponse);
}
Run Code Online (Sandbox Code Playgroud)
然后在我的视图顶部的javascript中:
$(document).ready(function () {
$(".SelectedCustomer").change( function (event) {
$.ajax({
url: "@Url.Action("GetPartialDiv/")" + $(this).val(),
data: { id : $(this).val() /* add other additional parameters */ },
cache: false,
type: "POST",
dataType: "html",
success: function (data, textStatus, XMLHttpRequest) {
SetData(data);
}
});
});
function SetData(data)
{
$("#divPartialView").html( data ); // HTML DOM …Run Code Online (Sandbox Code Playgroud) 错误
Missing type map configuration or unsupported mapping.
Mapping types:
Cities_C391BA93C06F35100522AFBFA8F6BF3823972C9E97D5A49783829A4E90A03F00 -> IEnumerable`1
System.Data.Entity.DynamicProxies.Cities_C391BA93C06F35100522AFBFA8F6BF3823972C9E97D5A49783829A4E90A03F00 -> System.Collections.Generic.IEnumerable`1[[OsosPlus2.Core.DataAccess.Cities, OsosPlus2.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]
Destination path:
CustomerViewModel.Cities.Cities
Source value:
System.Data.Entity.DynamicProxies.Cities_C391BA93C06F35100522AFBFA8F6BF3823972C9E97D5A49783829A4E90A03F00
Run Code Online (Sandbox Code Playgroud)
行动方法:
public ActionResult _EditCustomer(int CustomerId)
{
Customers customer = entity.Customers.FirstOrDefault(x => x.sno == CustomerId);
CustomerViewModel customerViewModel = new CustomerViewModel();
customerViewModel = AutoMapper.Mapper.Map<Customers, CustomerViewModel>(customer);
customerViewModel.Sectors = entity.Sectors;
customerViewModel.Cities = entity.Cities;
customerViewModel.PowerSuppliers = entity.PowerSuppliers;
return PartialView(customerViewModel);
}
Run Code Online (Sandbox Code Playgroud)
当我从实体获取客户时,我得到了上述错误.为什么我只能在获取后出现此错误?
asp.net-mvc ×8
jquery ×3
automapper ×2
javascript ×2
.net ×1
ajax ×1
area ×1
c# ×1
linq ×1
primary-key ×1
sql-server ×1
sql-view ×1
t-sql ×1
url-routing ×1