У меня есть ретранслятор метода оплаты, содержащий кнопку. У нас есть новые стили кнопок, которые необходимо применять. Новый стиль кнопки изменяется на основе параметра btnMode
в базе данных, который установлен в строку, представляющую селектор классов CSS. CSS работает отлично.ASP.NET Передача asp: значение повторителя для asp: атрибут CssClass Button
Я положил это на странице ASPX:
<asp:Button ID="btnEdit"
runat="server"
ClientIDMode="Static"
CssClass='<%# Eval("btnMode") %>'
Text="edit"
CommandName="ChangePaymentProfile"
CommandArgument='<%# Eval("PaymentSourceId") + "|" + Eval("AuthNetPaymentProfileId")%>' />
В ASPX.cs
//Command Button Clicked: Change Payment Method
else if (e.CommandName.ToLower().Equals("changepaymentprofile"))
{
hdChangeYN.Value = "Y";
showAddPaymentForm();
//display billing address of selected card
hsParams.Add("CustomerId", User.Identity.Name);
hsParams.Add("PaymentSourceId", strPaymentSourceId);
DataTable dt = DbHelper.GetDataTableSp("234_accountAddress__ByPaySourceId", hsParams);
if (dt.Rows.Count > 0)
{
tbFistName.Text = dt.Rows[0]["FirstName"].ToObjectString();
tbLastName.Text = dt.Rows[0]["LastName"].ToObjectString();
inputAddress1.Text = dt.Rows[0]["Address"].ToObjectString();
inputAddress2.Text = "";
string strCountryCd = dt.Rows[0]["CountryCd"].ToObjectString();
ddlCountry_Update(strCountryCd); //Update Country & State DDL because Country can be a foreign country
ddlCountry.SelectedValue = strCountryCd;
inputCity.Text = dt.Rows[0]["City"].ToObjectString();
ddlState.SelectedValue = dt.Rows[0]["StateProvinceId"].ToObjectString();
inputZipcode.Text = dt.Rows[0]["Zipcode"].ToObjectString();
ddlCardType.SelectedValue = dt.Rows[0]["CardType"].ToObjectString();
}
}
Когда я загрузить страницу в браузере <%# Eval("btnMode") %>
не разрешится до значения. Я вижу это, когда я открываю инспектор:
<input
id="btnEdit"
class="<%# Eval("btnMode") %>"
type="submit"
name="ctl00$ctl00$ContentPlaceHolderFront$ContentPlaceHolderFront$rptList$ctl01$btnPrimary"
value=""
onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$ContentPlaceHolderFront$ContentPlaceHolderFront$rptList$ctl01$btnPrimary", "", true, "", "", false, false))" >
Важно отметить, что этот атрибут CommandArgument='<%# Eval("PaymentSourceId") %>'
делает работу, и btnMode
действительно содержит достоверные данные.
Пожалуйста, покажите ваш 'btnPrimary' метод связывания на коде позади, вероятно, у вас есть данные связывания вопрос в уровне кода, который влияет на страницу жизненного цикла. –
Вы показываете две разные кнопки. Aspx of 'btnEdit' и выведенный html' btnPrimary'. Что он? – VDWWD
'btnEdit'. На самом деле у меня есть три кнопки, которые нужно настроить таким образом. Вопрос исправлен. –