我在mvc3 razor中使用openid, 请解释此代码
<form action="Authenticate?ReturnUrl=@HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"])" method="post" id="openid_form">
答案 0 :(得分:1)
简而言之,它会将用户重定向到“身份验证”状态。 action *并传递当前的ReturnUrl查询字符串参数。
**, * 示例:如果您从页面调用此表单
http://localhost:56507/Home/Index?ReturnUrl=localhost%2fjumbo%20rob ,
它会重定向到
http://localhost:56507/Home/Authenticate?ReturnUrl=localhost%2fjumbo%20rob
好的,让我们剖析一下代码。
<form action="Authenticate?ReturnUrl=@HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"])" method="post" id="openid_form"
它是一个表单标签。表单标记具有操作属性。表单的action属性指定在提交表单时向其发送表单数据的位置(url)。在这种情况下,指定的URL是&#34; Authenticate?ReturnUrl=@HttpUtility.UrlEncode(Request.QueryString [&#34; ReturnUrl&#34;])&#34;
让我们剖析网址。 &#39;身份验证&#39;它是一个url的名称,它可能是同一个控制器中的一个动作(post url只会在最后一个斜杠之后替换这个代码用于相对url的东西)。
然后url有一个带有称为ReturnUrl的参数的查询字符串。此参数的值是当前窗口查询字符串中的ReturnUrl的url编码形式。它重新编码查询字符串以重新转换&#34; &#34; s to&#34;%20&#34; s等。