Я разрабатываю простую систему рейтинга для веб-приложения моего работодателя. Вот моя проблема:
- Фактическая страница -
domain.com/review.aspx?user=username
, но я использую модуль перезаписи url в IIS для использования domain.com/username/review
- Страница содержит элемент управления повторителем, который отображает отзывы для этого имени пользователя, а также форму для людей, создающих новые отзывы
- Когда форма отправлена, asp.net повторно добавляет (скрытую) строку запроса к URL при обратной передаче.
- URL-адрес обратной ссылки теперь
domian.com/username/review?user=username&review
, что приводит к разрыву страницы при обновлении.
Есть ли способ, чтобы asp.net не добавлял строки запросов, которые на самом деле уже присутствуют, но переписаны с IIS
Живая ссылка <- отправьте отзыв, а затем обновите страницу <em>(изменить), нажав в адресной строке ! Красивое жёлтое сообщение об ошибке.
EDIT
C # код:
protected void submitReview(object sender, EventArgs e)
{
try
{
int starRating = txtStarRating.Text == "" ? 0 : Int32.Parse(txtStarRating.Text);
testimonials.addNew(Int32.Parse(txtHiddenUid.Text), reviewContent.Text, reviewerName.Text, true, starRating);
reviewForm.Visible = false; pnlReviewSubmissionSuccess.Visible = true;
}
catch { starErrorMessage.Text = "There was an error submitting your review. Please refresh this page and try again."; }
}
ASP код:
<div ID="pnlSubmitReview" runat="server">
<div id="reviewForm" runat="server">
<div id="leaveReviewBoxes">
<span style="margin-bottom:10px; float:left; font-weight:bold;">Leave a Review</span>
<div style="clear:both;"></div>
<asp:Label ID="nameLabel" runat="server">Name:</asp:Label>
<asp:Textbox runat="server" ID="reviewerName"></asp:Textbox>
<div style="clear:both;"></div>
<asp:Label ID="reviewLabel" runat="server">Review:</asp:Label>
<asp:Textbox runat="server" ID="reviewContent" Width="200px" TextMode="MultiLine"></asp:Textbox>
</div>
<div>
<ol id="starlist">
<li><a id="star1" name="star1" href="javascript:void(0)" class="star"></a></li>
<li><a id="star2" name="star2" href="javascript:void(0)" class="star"></a></li>
<li><a id="star3" name="star3" href="javascript:void(0)" class="star"></a></li>
<li><a id="star4" name="star4" href="javascript:void(0)" class="star"></a></li>
<li><a id="star5" name="star5" href="javascript:void(0)" class="star"></a></li>
</ol>
<asp:TextBox ID="txtStarRating" runat="server" Text=""></asp:TextBox>
<asp:Label runat="server" ID="starErrorMessage"></asp:Label>
<asp:TextBox ID="txtHiddenUid" runat="server" Visible="false"></asp:TextBox>
</div>
<asp:Button runat="server" ID="submitReviewButton" Text="Submit Review" OnClick="submitReview" />
</div>
<div ID="pnlReviewSubmissionSuccess" runat="server" Visible="false">
Thank you! Your review has been submitted.
</div>
</div>