public static bool RolesIn(this HtmlHelper helper, string Roles)
{
var user = HttpContext.Current.User;
if (!user.Identity.IsAuthenticated || string.IsNullOrEmpty(Roles) || Roles.Trim().Length == 0)
return false;
var roleArray = SplitString(Roles);
if (roleArray.Length == 0) return false;
return roleArray.Any(a => user.IsInRole(a));
}
public static string[] SplitString(string original)
{
return (from o in original.Split(new char[] { ',' })
let trimmed = o.Trim()
where !string.IsNullOrEmpty(trimmed)
select trimmed).ToArray<string>();
}
@{
Layout = "~/Areas/Admin/Views/Shared/_nonSalesLayout.cshtml";
}
<div id="main_body">
@RenderBody()
</div>
@Html.Partial("_IncludeFiles")
@Html.Partial("~/Areas/Admin/Views/Shared/Menu/_nonSalesMenu.cshtml")
//頁面包含,傳參數(Model),額外的參數 ViewDataDictionary
@model Merchant //設定Model數據源的類型
@Html.Partial("_Title_Merchant", Model, new ViewDataDictionary { { "highLight", "Merchant" } })
<a href="@Url.Action("Merchant", "Merchant", new { id = Model.MerchantID })" style="@(ViewData["highLight"] == "Merchant" ? "background-color:#1c4699" : "")" >Merchant</a>
//創建CheckBox 複選框,綁定Model數據
@Html.CheckBox("MerchantOtherSetting.FixedCustomerCode", Model.MerchantOtherSetting.FixedCustomerCode ?? false)
@Html.TextBox("Amount", 25, new { @class = "decimalInput" })
//頁面創建DropDownList,默認選中項,並且添加樣式
@Html.DropDownList("Searchtype", new List<SelectListItem> {
new SelectListItem{ Text="Account #",Value="MerchantID"},
new SelectListItem{ Text="DBA",Value="DBA",Selected=true},
new SelectListItem{ Text="MID",Value="MID"},
new SelectListItem{ Text="Phone",Value="Phone"},
new SelectListItem{ Text="RepID",Value="RepID"},
new SelectListItem{ Text="TaxID",Value="TaxID"},
new SelectListItem{ Text="EVO BE #",Value="EVOBENumber"}
}, new { style = "border:none;" })
<a href="@Url.Action("Report", "Report", new { Area = "Admin" })">Advanced Report</a>
//第一個參數爲 要顯示的文字(注意文字不能爲null或者"",否則會報異常)
//第二個參數爲指定的 Action名字
//第三個參數爲路由參數
//第四個參數爲指定異步參數(UpdateTargetId:成功之後,更新的元素html;HttpMethod:指定異步方式get or post or other;OnSuccess 成功之後要調用的函數名)
@Ajax.ActionLink("BC Sales Month", "LastYearSalesAndTicketInfoColumn", new { type = "BCSales", merchantId = Model.MerchantID }, new AjaxOptions
{
UpdateTargetId = "salesAndticketInfo",
HttpMethod = "Get",
OnSuccess = "SalesAndTicketInfoOpen"
}):
//Jquery裏的Ajax參數
$("body").addClass("loading");
var form = $("#reminder").find('form');
var btn = $(this).attr("name");
var addInfo = { name: btn, value: '1' };
var data = form.serializeArray();
data.push(addInfo);
$.ajax({
url: "@Url.Action("SaveReminder", "Home")",
data: data,
type: 'POST',
success: function () {
$("#reminder").dialog("close");
$("body").removeClass("loading");
if (btn == "outlookreminder") {
window.location.href = "@Url.Action("DownloadICSReminder", "Home")";
}
}
});
//@razor 異步表單提交
<div id="dialogVerifyAddress" class="dialogPanel" title="Verify Address">
@using (Ajax.BeginForm("UpdateAddressByUSPS", "Merchant",
new AjaxOptions
{
HttpMethod = "Post",
OnBegin = "show",
OnComplete = "hide",
OnFailure="fail",
OnSuccess = "CheckAddressSuccess",
}, new { id = "VerifyAddressForm" }))
{
@Html.Partial("_Merchant_NameAndAddress_VerifyAddress")
<div>
<input type="hidden" id="UpdateFrom" name="UpdateFrom" value="omega" />
<input type="hidden" id="AddressType" name="AddressType" value="DBA" />
<input type="hidden" name="MerchantID" value="@Model.MerchantID" />
</div>
}
</div>
$("#ShippingForm").validate({
rules: {
Amount: {
required: true,
range: [0, 9999]
},
ShippingOper: {
required: true
},
RepId: {
required: true
}
}
});