如何根据客户年龄更改 WebGrid 中 Link 的 URL
How To Change The URL Of A Link In A WebGrid Depending On Clients Age
我有一个 List<WebGridColumn>
table 显示客户列表,包括成人和 child。根据客户的年龄,他们有不同的 URL,所以成年人
/secure/client/[Page URL] 和 child 的是 /secure/junior/[Page URL].
我遇到的问题是我不知道如何让我的 link 用户点击将他们引导到正确的 URL。
以下是我有但不起作用的内容:
List<WebGridColumn> cols = new List<WebGridColumn>();
cols.Add(new WebGridColumn { Header = "Client name", ColumnName = "ClientName", CanSort = true, Format = (item) => String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/Client/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName) });
cols.Add(new WebGridColumn { Header = "Account number", ColumnName = "AccountNumber", CanSort = true });
foreach (ClientViewColumn c in currentClientView.Columns)
{
由于href
设置
,这对成年人来说效果很好
我尝试在它周围添加一个 if
语句,但这会导致服务器错误,如下所示:
List<WebGridColumn> cols = new List<WebGridColumn>();
if (AJBG.CMS2.Sippcentre.AppCode.Functions.UserDetails.IsJunior())
{
cols.Add(new WebGridColumn { Header = "Client name", ColumnName = "ClientName", CanSort = true, Format = (item) => String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/Junior/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName) });
}
else
{
cols.Add(new WebGridColumn { Header = "Client name", ColumnName = "ClientName", CanSort = true, Format = (item) => String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/Client/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName) });
}
cols.Add(new WebGridColumn { Header = "Account number", ColumnName = "AccountNumber", CanSort = true });
foreach (ClientViewColumn c in currentClientView.Columns)
{
怎么办,我想不出办法。
谢谢
在您的视图中声明变量如下:
var isJunior = AJBG.CMS2.Sippcentre.AppCode.Functions.UserDetails.IsJunior();
然后在你的string.Format
:
中进行如下评估
(isJunior ? "Junior" : "Client")
您的代码将变成这样:
var isJunior = AJBG.CMS2.Sippcentre.AppCode.Functions.UserDetails.IsJunior();
List<WebGridColumn> cols = new List<WebGridColumn>();
cols.Add(new WebGridColumn { Header = "Client name",
ColumnName = "ClientName", CanSort = true,
Format = (item) =>
String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/{2}/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName, (isJunior ? "Junior" : "Client")) });
...
我有一个 List<WebGridColumn>
table 显示客户列表,包括成人和 child。根据客户的年龄,他们有不同的 URL,所以成年人
/secure/client/[Page URL] 和 child 的是 /secure/junior/[Page URL].
我遇到的问题是我不知道如何让我的 link 用户点击将他们引导到正确的 URL。
以下是我有但不起作用的内容:
List<WebGridColumn> cols = new List<WebGridColumn>();
cols.Add(new WebGridColumn { Header = "Client name", ColumnName = "ClientName", CanSort = true, Format = (item) => String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/Client/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName) });
cols.Add(new WebGridColumn { Header = "Account number", ColumnName = "AccountNumber", CanSort = true });
foreach (ClientViewColumn c in currentClientView.Columns)
{
由于href
设置
我尝试在它周围添加一个 if
语句,但这会导致服务器错误,如下所示:
List<WebGridColumn> cols = new List<WebGridColumn>();
if (AJBG.CMS2.Sippcentre.AppCode.Functions.UserDetails.IsJunior())
{
cols.Add(new WebGridColumn { Header = "Client name", ColumnName = "ClientName", CanSort = true, Format = (item) => String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/Junior/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName) });
}
else
{
cols.Add(new WebGridColumn { Header = "Client name", ColumnName = "ClientName", CanSort = true, Format = (item) => String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/Client/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName) });
}
cols.Add(new WebGridColumn { Header = "Account number", ColumnName = "AccountNumber", CanSort = true });
foreach (ClientViewColumn c in currentClientView.Columns)
{
怎么办,我想不出办法。
谢谢
在您的视图中声明变量如下:
var isJunior = AJBG.CMS2.Sippcentre.AppCode.Functions.UserDetails.IsJunior();
然后在你的string.Format
:
(isJunior ? "Junior" : "Client")
您的代码将变成这样:
var isJunior = AJBG.CMS2.Sippcentre.AppCode.Functions.UserDetails.IsJunior();
List<WebGridColumn> cols = new List<WebGridColumn>();
cols.Add(new WebGridColumn { Header = "Client name",
ColumnName = "ClientName", CanSort = true,
Format = (item) =>
String.Format("<a onclick=\"showPopUp()\" href=\"/Secure/Adviser/{2}/?ClientIdentifier={0}\">{1}</a>", item.Identifier, item.ClientName, (isJunior ? "Junior" : "Client")) });
...