Asp.net MVC ModelState.Clear

¿Puede alguien darme una definición sucinta del rol de ModelState en Asp.net MVC (o un enlace a uno)? En particular, necesito saber en qué situaciones es necesario o deseable llamarModelState.Clear().

Bit abierto terminado eh... lo siento, creo que podría ayudar si te digo lo que estoy haciendo en la práctica:

Tengo una Acción de Editar en un Controlador llamado "Página". Cuando veo por primera vez el formulario para cambiar los detalles de la página, todo se carga bien (se vincula a un objeto "MyCmsPage"). Luego hago clic en un botón que genera un valor para uno de los campos del objeto MyCmsPage (MyCmsPage.SeoTitle). Genera bien y actualiza el objeto y luego devuelvo el resultado de la acción con el objeto de página recién modificado y espero el cuadro de texto relevante (representado con<%= Html.TextBox("seoTitle", page.SeoTitle)%>) para ser actualizado ... pero, por desgracia, muestra el valor del modelo anterior que se cargó.

He trabajado alrededor usandoModelState.Clear() pero necesito saber por qué / cómo ha funcionado, así que no solo lo hago a ciegas.

PageController:

[AcceptVerbs("POST")]
public ActionResult Edit(MyCmsPage page, string submitButton)
{
    // add the seoTitle to the current page object
    page.GenerateSeoTitle();

    // why must I do this?
    ModelState.Clear();

    // return the modified page object
     return View(page);
 }

Aspx:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MyCmsPage>" %>
....
        <div class="c">
            <label for="seoTitle">
                Seo Title</label>
            <%= Html.TextBox("seoTitle", page.SeoTitle)%>
            <input type="submit" value="Generate Seo Title" name="submitButton" />
        </div>

Respuestas a la pregunta(9)

Su respuesta a la pregunta