0
新使用剃刀視圖,並欣賞任何建議。我在視圖:在剃刀視圖中覆蓋變量
Script.Require("Accounts");
var o = sidePanel.Entities.ToString(WorkContext.CurrentUser, false);
var t = sidePanel.Entities.Title;
<text>
<article class="widget-aside-right widget-accounts-side-widget widget">
<accounts-side-widget @o title="@t" />
</article>
</text>
和C#toString方法是:
public string ToString(IUser user, bool isOpenDynamic = true)
{
// todo (tba 11/3/15): why is groups always included?
string options = (AllAccounts ? " allaccounts" : string.Empty)
+ (EntityGroups ? " groups" : string.Empty)
+ (Balance ? " balance" : string.Empty)
+ (Number ? " number" : string.Empty)
+ " isOpen=" + (IsOpen && isOpenDynamic)
+ (ClientCode ? " clientCode" : string.Empty)
+ (BaseCurrency ? " baseCurrency" : string.Empty)
+ " missingdatareportid=" + MissingDataReportId
+ (ReportBook && user.HasPermission(PermissionType.ReportBook) ? " reportbook" : string.Empty)
+ (AccountDetailPopup ? " details" : string.Empty);
return options;
}
我不能改變的變量在後端,因爲它會使用相同的後端,但影響到很多其他客戶端視圖是特定於此客戶端的。因此,我需要能夠在視圖中而不是在後端中更改某個變量(isOpen)的值。
閱讀關於使用Javascript和JQuery設置變量,但看到這不是一個好主意。
它是一個好主意,但基本上我無法編輯C#圖層bse它需要爲所有客戶端標準。 –
它會的。如果從視圖中調用ToString方法,並且有問題的視圖只被一個客戶端使用,則項目的完整性將保持不變。或者你可以在我認爲的視圖中寫一個幫手,但恕我直言,這太臭了。爲什麼有一條除了必須找到方法之外什麼都不能實現的規則? – DrMistry
將upvote。沒有使用這種方法,但可以工作。 –