【问题标题】:if Request.Form Not Working On Page (ASP.net)如果 Request.Form 在页面上不起作用(ASP.net)
【发布时间】:2012-11-30 18:26:14
【问题描述】:

我是 ASP.net 的新手,并且在页面上有此代码:

<% IF (Request.Form("clicked")="clicked") %>

<script>
jQuery(document).ready(function(){
  jQuery.colorbox({
    iframe      : true,
    innerWidth  : 430,
    innerHeight : 208,
    href        : "/v/browse_market.asp"
  });
});
</script>
<%ELSE%>
<%END IF%>

基本上,我只希望在用户通过单击的表单按钮进入页面时加载颜色框。上一页的表格在这里:

<form method="post" action="/clothing_s/1814.htm">
<input type="hidden" name="clicked" value="clicked" />
<input type="submit" name="submit" value="Browse Products" />
</form>

即使我没有提交表单,还有其他方法可以访问该页面并加载 Colorbox。我的语法正确吗?我对条件结构等非常熟悉,但主要是 PHP 用户,所以不确定我是否完全正确(与我看到的示例相关,这看起来是正确的,这就是我问的原因)。

【问题讨论】:

  • 你在做 MVC 还是 WebForms?我几乎没有使用 MVC 的经验,但是如果您正在使用 WebForms,那么在回答这个问题之前,您似乎需要学习大量的“asp.net 如何工作”。 Teis 在我看来更像是经典的 ASP 而不是 ASP.NET。
  • 我对 ASP 很陌生。我所知道的是我正在使用 ASP 中的 Volusion 模板。我正在发布表单并尝试在 PHP 中执行与 isset($_POST) 等效的操作。也许您可以澄清 ASP 中的 Web 表单有何不同?谢谢,对不起,如果我不完全理解...
  • 我认为您需要在 IF 行的末尾添加一个 THEN。鉴于colorbox 函数中的“href”,这几乎可以肯定是经典的 ASP,而不是 ASP.NET;您应该相应地更改标签。

标签: asp.net forms post


【解决方案1】:

等等等等。为什么你的 FORM 标签是这样的:

    <form method="post" action="/clothing_s/1814.htm">

该操作应针对在 IIS 下运行的有效 ASP.Net 网页。如果您在自己的机器(本地)上运行 ASP.Net 页面,则有效的 FORM 标记可能如下所示。

    <form method="post" action="http://localhost:4650/My-ASP.Net-In-IIS/default.aspx">

其余代码看起来不错,应该可以工作。

话虽如此,我并不是说你写的任何东西都应该这样写。您以 PHP 风格编写 ASP.Net,这是不正确的。但至少它必须有效。

我希望这能回答您的问题。如果是,请将其标记为“已回答”。

【讨论】:

  • 不,这不是链接中的转义斜线,它是子目录链接。当我提交表单时,表单会转到正确的页面 (mysite.com/clothing_s/1814.htm)。那有关系吗?我现在就试试,但不确定是不是你的意思。
  • 另外,这不会影响目标页面。问题真的是即使我直接进入目标页面(而不是点击它),颜色框也会加载。
  • HTML 页面1814.htm 将如何解析 ASP.Net 代码标签?页面必须是在 IIS 下运行的有效 .aspx 页面。
  • 哦,我明白你在说什么。是的,这是有道理的。抱歉,我必须通过我无法更改的电子商务网站模板来完成此操作,所以我认为它每次都会生成 ASP 页面(因为网站是这样编写的)。感谢您指出了这一点。让我看看。
  • 如果您需要进一步的帮助,请告诉我。如果对您有用,请记住将我的原始帖子标记为“已回答”。 :-)
猜你喜欢
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 2019-07-12
  • 1970-01-01
  • 2013-11-30
  • 2017-08-05
相关资源
最近更新 更多