Удалить тег из HtmlTextWriter

Я получаю текст для функции public void LoadMarkup(HtmlTextWriter writer){}, и мне нужно удалить из нее последний тег <tr>.

Текст, который я получаю:

<table class="form">
        <tr>
            <td class="createLabel">Name:<span class="field">*</span></td><td><input type="text" maxlength="200" id="productTitle" name="productTitle" class="required" style="width: 250px;" /></td>
        </tr><tr>
            <td class="createLabel">Account:<span class="field">*</span></td><td><select id="recognizedAccount" name="recognizedAccount" class="required">
                <option value="8a1dd4c7-8ddd-4632-aa81-6be29dc86d13">
                    Donation
                </option><option value="5617660d-4794-4cad-aab8-a04323faf68a">
                    Dues Account
                </option>
            </select></td>
        </tr><tr style="display: none;">
            <td class="createLabel">Deferral Method:</td><td><select id="deferralMethod" name="deferralMethod" class="required">
                <option value="e816071c-282d-46af-8c5d-ebecb8472b94">
                    None
                </option>
            </select></td>
        </tr><tr>
            <td class="createLabel">Description:<span class="required-field">*</span></td><td><textarea id="productDescription" name="productDescription" class="required" rows="3" style="width: 250px;"></textarea></td>
        </tr><tr>
            <td class="createLabel">Active:</td><td><input type="checkbox" id="productActive" name="productActive" /></td>
        </tr><tr>
            <td class="createLabel">Expiration Date:<span class="required-field">*</span></td><td><span class="datePicker"><input type="text" autocomplete="off" id="productExpirationDate" name="productExpirationDate" class="required" style="width: 135px;" /></span></td>
        </tr><tr class="typeRates">
            <td class="createLabel">Rate:<span class="required-field">*</span></td><td><input id="5a2da3f6-c3e5-4cd0-a194-7a704c8f07e0_rate" name="5a2da3f6-c3e5-4cd0-a194-7a704c8f07e0_rate" class="required" type="text" /></td>
        </tr>

Мне нужно удалить этот текст из верхнего текста:

<tr class="typeRates">
            <td class="createLabel">Rate:<span class="required-field">*</span></td><td><input id="5a2da3f6-c3e5-4cd0-a194-7a704c8f07e0_rate" name="5a2da3f6-c3e5-4cd0-a194-7a704c8f07e0_rate" class="required" type="text" /></td>
        </tr>

Я не могу изменить текст до того, как получу его в функции, так как он исходит из фреймворка. Кто-нибудь может помочь с этим, пожалуйста, предложите.

Спасибо.


person Nitin Katiyar    schedule 22.04.2015    source источник


Ответы (1)


Не проверено и не самое надежное, но, возможно, попробуйте:

public string RemoveLastTableRow(HtmlTextWriter writer)
{
     // Create an array which contains each table row split
     string[] html = writer.ToString().Split(new string[] { "<tr>" }, StringSplitOptions.None);

     // Return all the array indexes joined, except for the final index
     return string.Join("", html.Take(html.Count() - 1)); 
}
person Nick    schedule 22.04.2015
comment
Даже если мне удалось удалить <tr> из writer в новой строке, я не могу переназначить новую строку в модуле записи обратно. Я не могу вернуть новую строку, так как приложение должно работать со ссылкой writer. Теперь я просто скрыл <tr> и удалил из него нужный класс с помощью JQuery. - person Nitin Katiyar; 23.04.2015
comment
Достаточно честно, @NitinKatiyar. Вы можете добавить это как ответ на свой вопрос. - person Nick; 23.04.2015