检查 GET 方法是否为空/空
本文关键字:是否 GET 方法 检查 | 更新日期: 2023-09-27 18:36:24
我最近一直在使用<select>
标签,但是,我注意到您无法使用if statement
来确定GET
是否NULL
或等于""
。
var tbl_st = (from c in db.tblfsk_style select c).ToArray();
build.Append("<select id='style' name='style' class='styles'>");
foreach (var style in tbl_st)
{
build.Append("<option value='" + style.StyleID + "'>" + style.Description + "</option>");
}
build.Append("</select>");
if(Request.QueryString["style"] != "")
{
var choosen = Request.QueryString["style"];
var tbl_colour = (from c in db.tblfsk_style_colour where c.StyleID == choosen select c).ToArray();
build.Append("<select id='colour' name='colour' class='styles'>");
foreach (var colour in tbl_colour)
{
build.Append("<option value='" + colour.ColourID + "'>" + colour.ColourID + "</option>");
}
build.Append("</select>");
}
build.Append("<button type='submit' class='btn'>Continue</button>");
这个想法是当他们选择Continue
作为Button
时,接下来的事情就会加载,但我正在努力找到一种方法来检查style
是否为空。
我试过:
if(Request.QueryString["style"] != "") { // next <select> tag
和:
if(!string.IsNullOrEmpty(Request.QueryString["style"])) { // next <select> tag
有没有办法确定style
是否null
在GET
中?
PHP示例(为了更好地解释):
if(isset($_GET['style'])) { // next <select> tag
我通过尝试使用 try
和 catch
方法解决了这个问题。
try
{
var sty_in = Request.QueryString["style"].ToString();
build.Append("test");
}
catch(Exception)
{
var tbl_st = (from c in db.tblfsk_style select c).ToArray();
build.Append("<select id='style' name='style' class='styles'>");
foreach (var style in tbl_st)
{
build.Append("<option value='" + style.StyleID + "'>" + style.Description + "</option>");
}
build.Append("</select>");
}
因此,如果已输入,我们可以将test
替换为放置新的<select>
语句。
甚至更容易:
if(!string.IsNullOrEmpty(Request.QueryString["style"].ToString())){ }
或
if(Request.QueryString["style"].ToString() != null) { }
我错过了ToString()
您使用的是 Request.QueryString,因此该值应作为 GET 参数通过 URL 传递。如果样式通过 URL 字符串正确传递,则可以轻松查看样式的值。