一般需要视频剪辑软件的用户都会选择在电脑上安装喵影工厂来进行剪辑,这是因为这款软件中有着很多简单实用的功能来帮助用户成功剪辑出自己喜欢的视频,当用户在使用这款视频......
2024-01-13 207 喵影工厂调节图片的白色色阶
在程序开发过程中,return 用于返回,既可以从子函数(方法)中返回,也可以通过返回结束当前程序的运行。尤其是后一种情况,稍不留意就有可能犯错误,为什么这么说?
假如要实现一个提交产品表单的功能,有几个字段是必填项,为了确保安全,除了在前台用 Javascript 检查外,还要在后台再次用 C# 检查。一般检查的时候,如果发现必填字段为空,都要返回“必填字段不能为空”这样的提示,代码如下:
//提交代码
protected void btn_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(tbProductName.Text))
{
lblErr.Text = "产品名称不能为空!";
lblErr.Visible = true;
return;//返回结束程序运行
}
}
代码中只写了一个“不能为空”提示,当准备写第2个提示的时候,就会发现代码实现跟第1个提示相同,所不同的只是提示文字不一样,代码如下:
//提交代码
protected void btn_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(tbProductName.Text))
{
lblErr.Text = "产品名称不能为空!";
lblErr.Visible = true;
return;//返回结束程序运行
}
if (string.IsNullOrEmpty(tbPrice.Text))
{
lblErr.Text = "产品价格不能为空!";
lblErr.Visible = true;
return;//返回结束程序运行
}
}
如果每个提示都这样写,代码重复率太高,所以就把提示代码封装成一个方法,有不能为空提示的地方直接调用即可,代码如下:
//检查是否为空
private void CheckEmpty(string val, string message)
{
if (string.IsNullOrEmpty(val))
{
lblErr.Text = message;
lblErr.Visible = true;
return;//返回结束程序运行
}
}
提交代码变为如下:
protected void btn_Click(object sender, EventArgs e)
{
CheckEmpty(tbProductName.Text, "产品名称不能为空!");
CheckEmpty(tbPrice.Text, "产品价格不能为空!");
}
不知您发现没有,就在把重复的提示代码顺理成章的封装成一个方法过程中,错误已经产生。或许您会问,代码还是原来的代码,没有任何变化怎么有错误。
当 return 从单击事件(btn_Click)移到方法(CheckEmpty)中的时候,发生了变化,从结束当前程序的运行变为从当前方法返回,即调用它的代码还会继续往下运行,违背了必填字段为空就返回结束程序运行的本意,所以必须把 return 上移,代码变为:
//检查是否为空
private bool CheckEmpty(string val, string message)
{
if (string.IsNullOrEmpty(val))
{
lblErr.Text = message;
lblErr.Visible = true;
return true;
}
else
return false;
}
提交代码变为如下:
protected void btn_Click(object sender, EventArgs e)
{
if(CheckEmpty(tbProductName.Text, "产品名称不能为空!")) return;
if(CheckEmpty(tbPrice.Text, "产品价格不能为空!")) return;
}
附:前台代码:
<ul>
<li>产品名称:<asp:TextBox ID="tbProductName" runat="server" /></li>
<li>产品价格:<asp:TextBox ID="tbPrice" runat="server" /></li>
<li><asp:Button ID="btn" runat="server" OnClick="btn_Click" />
<asp:Label ID="lblErr" runat="server" Visible="false" />
</li>
</ul>
标签: return返回
相关文章
一般需要视频剪辑软件的用户都会选择在电脑上安装喵影工厂来进行剪辑,这是因为这款软件中有着很多简单实用的功能来帮助用户成功剪辑出自己喜欢的视频,当用户在使用这款视频......
2024-01-13 207 喵影工厂调节图片的白色色阶
作为从事设计的人,已经习惯了在Photoshop里面进行图片的处理,进行抠图、各种图层的操作,可以轻松将图片处理成自己想要的样子,处理完后,你可以存储为各种图片格式。但是在......
2016-07-05 203 IconWorkshop
首先打开eclipse,点击右上角有一个这个小按钮 ,点击java然后OK 因为切换到这个视图来创建android程序更加方便,然后点击 Next Next 这个地方可以修改android应用程序的图标。 Next Next Fin......
2016-12-04 205 Android android教程 android技巧 android软件 android开发教程
云上的生活异常便捷高效,相信了解和使用过云服务的同学都知道同步的好处,可惜我们的windows虽然在同步方面有很强大的skydrive,但是比起google,好像稍逊一筹,因为chrome能实现登陆......
2016-10-15 200 IE浏览器