Я только что опубликовал один вопрос и получил ответ очень быстро, спасибо.
У меня есть новая проблема, поскольку у меня есть метка asp, которая динамически устанавливает текст во время создания экземпляра, а затем к ней привязана функция onmousedown, вызывающая функцию javascript, чтобы включить область таблицы, которая находится ниже, для отображения по умолчанию нет Все работает нормально, пока я не разместил два таких пользовательских элемента управления на странице. У них обоих правильный текст метки правильный, но включение javascript, кажется, устанавливает блокировку атрибута стиля отображения первой таблицы usercontrol вместо того, который находится ниже метки, по которой щелкнули. Я уверен, что это потому, что скрипт выполняется на стороне клиента (что я действительно хотел бы сохранить), и все пользовательские элементы управления имеют одинаковое имя идентификатора (так как все они являются экземплярами одного и того же пользовательского элемента управления), поэтому javascript для установки атрибут отображения стиля просто получает первую таблицу. Кажется, я не могу придумать хороший способ динамически именовать таблицу на instationation, чтобы я мог указать это уникальное имя id для javascript или любым другим способом сделать эту работу.
код asp пользовательского управления ниже:
function enableDivArea(objName) {
document.getElementById(objName).style.display = "block";
}
function disableDivArea(objName) {
document.getElementById(objName).style.display = "none";
document.forms[0].submit();
}<asp:Label style="cursor:pointer;color:#EA9156;font-family:Arial,Helvetica,sans-serif;font-weight:bold;" ID="m_emailAddressLabel" onmousedown="enableDivArea('EmailFormDivArea');" runat="server" Text="someone@emailaddress.com"></asp:Label>
<table id="EmailFormDivArea" style="display:none; border-style: outset; border-width: thin">
<tr>
<td>To: <asp:Label ID="m_sendEmailToLabel" runat="server" Text=""></asp:Label></td>
<td align="right"><asp:Label onmousedown="disableDivArea('EmailFormDivArea');" id="m_closeLabel" runat="server" Text="close"></asp:Label></td>
</tr>
<tr>
<td><asp:Label ID="m_fromLabel" runat="server" Text="First Name:" Visible="True"></asp:Label></td>
<td><asp:TextBox ID="m_firstNameBox" runat="server" Visible="True"></asp:TextBox></td>
</tr>
<tr>
<td><asp:Label ID="Label1" runat="server" Text="Last Name:" Visible="True"></asp:Label></td>
<td><asp:TextBox ID="m_lastNameBox" runat="server" Visible="True"></asp:TextBox></td>
</tr>
<tr>
<td><asp:Label ID="Label2" runat="server" Text="E-mail:" Visible="True"></asp:Label></td>
<td><asp:TextBox ID="m_emailBox" runat="server" Visible="True"></asp:TextBox></td>
</tr>
<tr>
<td><asp:Label ID="Label3" runat="server" Text="Phone number:" Visible="True"></asp:Label></td>
<td><asp:TextBox ID="m_phoneNumberBox" runat="server" Visible="True"></asp:TextBox></td>
</tr>
<tr>
<td><asp:Label ID="Label4" runat="server" Text="Message:" Visible="True"></asp:Label></td>
<td><asp:TextBox ID="m_messageBox" runat="server" Visible="True" Rows="6" TextMode="MultiLine"></asp:TextBox></td>
</tr>
<tr>
<td colspan="2" align="center"><asp:Button ID="m_sendMessageButton" runat="server" Text="Send Message"
onclick="m_sendMessageButton_Click" /></td>
</tr>
<tr>
<td colspan="2" align="center"><asp:Label runat="server" ID="m_statusLabel" Text="" Visible="true"></asp:Label></td>
</tr>
</table>
и код выглядит следующим образом:
protected void Page_Load(object sender, EventArgs e)
{
m_emailAddressLabel.Text = this.Parameter;
m_sendEmailToLabel.Text = this.Parameter;
}