Asp.net mvc 3 Telerik Tabstrip(按需制表)工作不正常
我的局部视图包含以下代码:Asp.net mvc 3 Telerik Tabstrip(按需制表)工作不正常,asp.net-mvc-3,razor,telerik-mvc,Asp.net Mvc 3,Razor,Telerik Mvc,我的局部视图包含以下代码: @( Html.Telerik().TabStrip() .Name("MeasurementScheme") .Items(tab => { tab.Add() .Text("Weight Measure") .LoadContentFrom("IndexWeight", "MeasurementScheme")
@( Html.Telerik().TabStrip()
.Name("MeasurementScheme")
.Items(tab =>
{
tab.Add()
.Text("Weight Measure")
.LoadContentFrom("IndexWeight", "MeasurementScheme")
.Selected(true);
tab.Add()
.Text("Dimension Measure")
.LoadContentFrom("IndexDimension", "MeasurementScheme");
})
)
但当我运行代码时,它只显示第一个选项卡的部分视图,当单击第二个选项卡时,它不会调用第二个选项卡
当我将第二个选项卡的.selected属性改为true而不是第一个而不是第二个选项卡时,我需要再考虑一下,第一个选项卡不会调用它的视图吗
好的,这是我的控制器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using CommerceSuite.Services;
using CommerceSuite.Web.Models;
using CommerceSuite.Data;
using System.Web.Mvc.Html;
using CommerceSuite.Web.Infrastructure;
using CommerceSuite.Web.Models.MeasurementScheme;
using Telerik.Web.Mvc;
using System.Threading;
namespace CommerceSuite.Web.Controllers
{
public class MeasurementSchemeController : BaseCsController
{
private readonly IMeasurementSchemeService _measurementSchemeService;
public MeasurementSchemeController(IMeasurementSchemeService measurementSchemeService)
{
this._measurementSchemeService = measurementSchemeService;
}
public ActionResult Index()
{
return PartialView("_Index");
}
// Default Partial View Page of Measure Dimension
public ActionResult IndexDimension()
{
return PartialView("_IndexDimension");
}
// return Json List of All MeasureDimension - Method is Invoked in Index Partival View
[GridAction]
public ActionResult MeasureDimensionView()
{
var dimensionCollection= _measurementSchemeService.GetAllMeasurementDimension().Select(x=>
new MeasureDimensionModel()
{
MeasureDimensionId=x.MeasureDimensionId,
Name=x.Name,
Symbol = x.Symbol,
Ratio=x.Ratio.Value,
IsActive=x.IsActive
});
return Json(dimensionCollection, JsonRequestBehavior.AllowGet);
}
public ActionResult IndexWeight()
{
return PartialView("_IndexWeight");
}
// return Json List of All MeasureDimension - Method is Invoked in Index Partival View
[GridAction]
public ActionResult MeasureWeightView()
{
var weightCollection = _measurementSchemeService.GetAllMeasurementWeight().Select(x =>
new MeasureWeightModel()
{
MeasureWeightId = x.MeasureWeightId,
Name = x.Name,
Symbol = x.Symbol,
Ratio = x.Ratio.Value,
IsActive = x.IsActive
});
return Json(weightCollection, JsonRequestBehavior.AllowGet);
}
这是我的部分视图_Index.cshtml
@model CommerceSuite.Web.Models.MeasurementScheme.MeasureWeightModel
@{
ViewBag.Title = "Measurement Information";
Layout = "~/Views/Shared/_LayoutPartial.cshtml";
}
@Html.Partial("~/Views/Shared/_Notifications.cshtml")
<div style="margin-top: 10px; background-color:rgba(18, 149, 223, 0.35); color:#000000; text-align:center; border-bottom-style:dotted; border-top-style:dotted; border-top-width:1px; border-top-color:#aaa; border-bottom-width:1px; border-bottom-color:#aaa;">
<h1 style="font-size: 17px; line-height:24px; font-weight:normal;">Measurement Schemes</h1>
这是一个测量光的局部视图
@model CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel
@(Html.Telerik().Grid<CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel>()
.Name("MeasurementScheme")
.DataBinding(databinding => {
databinding.Ajax().Select("MeasureDimensionView", "MeasurementScheme");
})
.Columns(columns =>
{
columns.Bound(p=>p.MeasureDimensionId)
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= MeasureDimensionId #>' />")
.HeaderTemplate(
@<text>
<input type="checkbox" title="Select/Unselect All Records" id="checkAllRecords" />
</text>
)
.Title("")
.Width(40)
.HtmlAttributes(new { style = "text-align:center" });
columns.Bound(p => p.Name).Width(300);
columns.Bound(p => p.Symbol).Width(100);
columns.Bound(p => p.Ratio).Width(100);
columns.Bound(p => p.IsActive).Width(75);
columns.Bound(p => p.IsActive).Title("Update").Sortable(false).Filterable(false).Width(50)
.ClientTemplate("<img src='../../Content/themes/myicons/edit.png' title='Edit' width='20' onclick='csPopupOpen(\"HELLO\",\"" + @Url.Action("EditDimension") + "\",<#=MeasureDimensionId #>,\"" + @Url.Action("IndexDimension") + "\")' value='Edit' > <img src='../../Content/themes/myicons/del.ico' width='20' title='delete' name='<#=MeasureDimensionId #>' onclick='csPopupOpen(\"HELLO\",\"" + @Url.Action("Delete") + "\",<#=MeasureDimensionId #>)' value='Delete' > ").Width(50);
})
.Pageable()
.Scrollable()
.Sortable()
.Groupable()
)
@model CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel
@(Html.Telerik().Grid())
.名称(“测量方案”)
.DataBinding(数据绑定=>{
选择(“MeasureDimensionView”、“MeasurementScheme”);
})
.列(列=>
{
columns.Bound(p=>p.MeasureDimensionId)
.ClientTemplate(“”)
.校长职位(
@
)
.标题(“”)
.宽度(40)
.HtmlAttributes(新的{style=“text align:center”});
columns.Bound(p=>p.Name).Width(300);
columns.Bound(p=>p.Symbol).Width(100);
columns.Bound(p=>p.Ratio).Width(100);
columns.Bound(p=>p.IsActive).Width(75);
columns.Bound(p=>p.IsActive).Title(“Update”).Sortable(false).Filterable(false).Width(50)
.ClientTemplate(“,\”+@Url.Action(“IndexDimension”)+“\”)value='Edit'>'onclick='Cspopoppen(\“HELLO\”,\”+@Url.Action(“Delete”)+“,)'value='Delete'>”)。宽度(50);
})
.Pageable()
.Scrollable()
.Sortable()
.Groupable()
)
这是MeasureDimension _IndexDimension.cshtml的部分视图
@model CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel
@(Html.Telerik().Grid<CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel>()
.Name("MeasurementScheme")
.DataBinding(databinding => {
databinding.Ajax().Select("MeasureDimensionView", "MeasurementScheme");
})
.Columns(columns =>
{
columns.Bound(p=>p.MeasureDimensionId)
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= MeasureDimensionId #>' />")
.HeaderTemplate(
@<text>
<input type="checkbox" title="Select/Unselect All Records" id="checkAllRecords" />
</text>
)
.Title("")
.Width(40)
.HtmlAttributes(new { style = "text-align:center" });
columns.Bound(p => p.Name).Width(300);
columns.Bound(p => p.Symbol).Width(100);
columns.Bound(p => p.Ratio).Width(100);
columns.Bound(p => p.IsActive).Width(75);
columns.Bound(p => p.IsActive).Title("Update").Sortable(false).Filterable(false).Width(50)
.ClientTemplate("<img src='../../Content/themes/myicons/edit.png' title='Edit' width='20' onclick='csPopupOpen(\"HELLO\",\"" + @Url.Action("EditDimension") + "\",<#=MeasureDimensionId #>,\"" + @Url.Action("IndexDimension") + "\")' value='Edit' > <img src='../../Content/themes/myicons/del.ico' width='20' title='delete' name='<#=MeasureDimensionId #>' onclick='csPopupOpen(\"HELLO\",\"" + @Url.Action("Delete") + "\",<#=MeasureDimensionId #>)' value='Delete' > ").Width(50);
})
.Pageable()
.Scrollable()
.Sortable()
.Groupable()
)
@model CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel
@(Html.Telerik().Grid())
.名称(“测量方案”)
.DataBinding(数据绑定=>{
选择(“MeasureDimensionView”、“MeasurementScheme”);
})
.列(列=>
{
columns.Bound(p=>p.MeasureDimensionId)
.ClientTemplate(“”)
.校长职位(
@
)
.标题(“”)
.宽度(40)
.HtmlAttributes(新的{style=“text align:center”});
columns.Bound(p=>p.Name).Width(300);
columns.Bound(p=>p.Symbol).Width(100);
columns.Bound(p=>p.Ratio).Width(100);
columns.Bound(p=>p.IsActive).Width(75);
columns.Bound(p=>p.IsActive).Title(“Update”).Sortable(false).Filterable(false).Width(50)
.ClientTemplate(“,\”+@Url.Action(“IndexDimension”)+“\”)value='Edit'>'onclick='Cspopoppen(\“HELLO\”,\”+@Url.Action(“Delete”)+“,)'value='Delete'>”)。宽度(50);
})
.Pageable()
.Scrollable()
.Sortable()
.Groupable()
)
就这些是的,我找到了解决办法 我在两个局部视图中使用了相同的网格名称,这就是错误所在
@(Html.Telerik().Grid<ProjectName.Web.Models.MeasurementScheme.MeasureDimensionModel>()
***.Name("MeasurementScheme")***//This is the problem
@(Html.Telerik().Grid<CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel>()
***.Name("MeasurementScheme")***//same as previous
@(Html.Telerik().Grid())
***.Name(“MeasurementScheme”)***//这就是问题所在
@(Html.Telerik().Grid())
***.Name(“MeasurementScheme”)***//与前面的相同
我们不能使用相同的网格名称。奇怪,你能发布你的控制器代码和部分视图吗?真奇怪,控制台中有JavaScript错误吗?控制台中没有错误,还有一件事,当我在第二个选项卡上更改控制器名称时,效果很好。或者如果我删除了和第一个选项卡的.selected属性我点击第二个标签,而不是第一个,在同一个控制器中也可以正常工作,但若我点击第一个标签,然后按第二个,它就不工作了。
@model CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel
@(Html.Telerik().Grid<CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel>()
.Name("MeasurementScheme")
.DataBinding(databinding => {
databinding.Ajax().Select("MeasureDimensionView", "MeasurementScheme");
})
.Columns(columns =>
{
columns.Bound(p=>p.MeasureDimensionId)
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= MeasureDimensionId #>' />")
.HeaderTemplate(
@<text>
<input type="checkbox" title="Select/Unselect All Records" id="checkAllRecords" />
</text>
)
.Title("")
.Width(40)
.HtmlAttributes(new { style = "text-align:center" });
columns.Bound(p => p.Name).Width(300);
columns.Bound(p => p.Symbol).Width(100);
columns.Bound(p => p.Ratio).Width(100);
columns.Bound(p => p.IsActive).Width(75);
columns.Bound(p => p.IsActive).Title("Update").Sortable(false).Filterable(false).Width(50)
.ClientTemplate("<img src='../../Content/themes/myicons/edit.png' title='Edit' width='20' onclick='csPopupOpen(\"HELLO\",\"" + @Url.Action("EditDimension") + "\",<#=MeasureDimensionId #>,\"" + @Url.Action("IndexDimension") + "\")' value='Edit' > <img src='../../Content/themes/myicons/del.ico' width='20' title='delete' name='<#=MeasureDimensionId #>' onclick='csPopupOpen(\"HELLO\",\"" + @Url.Action("Delete") + "\",<#=MeasureDimensionId #>)' value='Delete' > ").Width(50);
})
.Pageable()
.Scrollable()
.Sortable()
.Groupable()
)
@(Html.Telerik().Grid<ProjectName.Web.Models.MeasurementScheme.MeasureDimensionModel>()
***.Name("MeasurementScheme")***//This is the problem
@(Html.Telerik().Grid<CommerceSuite.Web.Models.MeasurementScheme.MeasureDimensionModel>()
***.Name("MeasurementScheme")***//same as previous