Я пытаюсь использовать идентификатор, динамически сгенерированный в asp.net.
<tr id = "stdColTr" runat = "server">
<td style = "font-size:10pt">
<b>Nominal Tol(<asp:Label id = "lblStdSize_Unit" runat = "server" Text = ""></asp:Label>)</b>
</td>
<td>
<asp:Label id = "lblStdSize_Toler" runat = "server" Text = ""></asp:Label>
</td>
</tr>
У меня есть метка в uw.aspx, и я пытаюсь связать в ней таблицу и пытаюсь проверить, равно ли нулю значение, прочитанное из базы данных, то этот конкретный td не должен быть виден в этой таблице.
uw.aspx.cs
lblStdSize_Toler.Text = "<table ><thead><tr><th colspan='2'>Diameter</th><th colspan='2'>Tolerance</th></tr></thead><tr><td id='STd1'>From</td><td id='STd2'>To</td><td id='STd3'>+</td><td id='STd4'>-</td></tr>";
while (ReadData.Read())
{
prop_name = ReadData["prop_name"].ToString();
t_property = ReadData["tprop"].ToString();
}
lblStdSize_Unit.Text = ReadData["WD_PROP"].ToString();
if (prop_name == "1sizMin")
{
if (t_property= = "0")
{
first td with id SD1 should be hidden.
}
lblStdSize_Toler.Text = lblStdSize_Toler.Text + "<td>" + tdc_property + "</td>";
}
Точно так же оставшийся td проверяется с помощью t_property, если значение "0", тогда должно быть видно false.
Спасибо. @Schadensbegrenzer, но я хочу, как я упоминал выше
Будет только одна строка? Рассмотрите возможность использования string.Format
Нет, в одной строке 4 <td>, и может быть несколько строк





Если я правильно вас понял, это должно делать то, что вам нужно. Он создает строку для каждого возвращенного набора записей и применяет стиль (видимость) к первому столбцу (STd1). Я ничего не знаю о кодовой среде, и я просто добавил код, так как думаю, что он может работать. Измените имена переменных или опечатки по своему вкусу.
lblStdSize_Toler.Text = "<table ><thead><tr><th colspan='2'>Diameter</th><th colspan='2'>Tolerance</th></tr></thead>";
while (ReadData.Read())
{
var row = "<tr><td id='STd1' style='visibility: {0};'>From</td><td id='STd2'>To</td><td id='STd3'>+</td><td id='STd4'>-</td></tr>";
var visibility = "visible";
prop_name = ReadData["prop_name"].ToString();
t_property = ReadData["tprop"].ToString();
lblStdSize_Unit.Text = ReadData["WD_PROP"].ToString();
if (prop_name == "1sizMin")
{
if (t_property= = "0")
{
visibility = "hidden";
}
}
lblStdSize_Toler.Text += string.Format(row, visibility) + "<td>" + tdc_property + "</td>";
}
Если вы ищете способ справиться с этим с помощью сервера, я рекомендую использовать Repeater или DataList. stackoverflow.com/questions/3442897/…