ASP.net не заполняет действие = «» серверной формы при освобождении

У меня есть веб-сайт ASP.net с серверной формой на главной странице, так как все страницы требуют этого.

При отладкеaction параметр заполняется во время выполнения вместе сid, но при развертывании на моем сервере с IIS7 он не появляется ... но все еще работает. Это не вызывает проблем с сайтом, но делает мою проверку W3C HTML5 неудачной, так как она должна быть заполнена.

Источник отладки:

<form method="post" action="index.aspx" id="aspnetForm">

Живой источник:

<form method="post" action="" id="aspnetForm">

Форма декларации на главной странице:

<form runat="server">
.. some divs
</form>

Я знаю, что для тега формы не определены ID / действие и т. Д., Поскольку ASP настраивает значение по умолчанию во время выполнения, и это нормально, хотя по какой-то причине он портится на моем сервере. Я пытался использоватьaction="<% Path etc %>", чтобы получить путь, но он не работает.

Что я делаю неправильно? Я что-то упустил или это просто плохая практика - использовать форму на главной странице?

Благодарю.

Обновить

Хорошо, чтобы решить проблему, указанную в ответе, я просто установил действие Form.Action на главной странице Page_Load, и наконец получил зеленый свет W3C!

Запись: Я использую Intelligencia Rewriter, но вы можете получить URL с помощью Request.Url

public partial class myMasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Form.Action = Intelligencia.UrlRewriter.RewriterHttpModule.RawUrl;
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос