![](/img/trans.png)
[英]Need Help Evaluating Javascript From HTML Without WebBrowser
[英]Need help in javascript
我的数据输入页面有两个问题:问题1)尽管我正在进行客户端验证,但为什么指针要在页面后面进行编码..如果该字段为空,我有一个名为“金额”的文本字段,我是一条警报消息并关注在那个领域。 但是要紧紧地控制转到页面后面的代码:在这一行:十进制数量= Convert.ToDecimal(txtAmount.Text);在这里,我得到了例外,“输入参数的格式不正确”,这是javascript代码:
<script type="text/javascript">
function validate()
{
var value = document.getElementById("txtAmount").value;
if(value=="")
{
alert("Please enterAmount.");
document.getElementById("txtAmount").focus();
return false;
}
else
{
return true;
}
}
</script>
<asp:Button ID="btnSave" runat="server" Text="Save" Width="64px" Font-Bold="true" OnClientClick="validate()" onclick="btnSave_Click"/>
Prblm2:当我输入重复的值时,我期望的消息是“此ID已经存在,请尝试使用另一个ID”,但是我正在获取像主键冲突之类的信息…………这是代码。
if (!Page.IsValid)
return;
int sum = 0;
ContactPersonBO contactpersonbo = new ContactPersonBO();
string personid = txtPersonid.Text;
decimal amount = Convert.ToDecimal(txtAmount.Text);
try
{
contactpersonbo.PersonID = personid;
contactpersonbo.Amount = amount;
sum = ontactpersonbo.InsertPerson();
if (sum > 0)
{
lblMessage.Text = "person has been succesfully added.”;
}
else
{
lblMessage.Text = "This person already exists, please try with otherid”;
}
}
catch (Exception ex)
{
lblMessage.Text = ex.Message.ToString();
}
注意:这里的控制永远不会出现在这一部分:
else
{
lblMessage.Text = "This person already exists, please try with otherid”;
}
关于第一个问题,您应该从onclick
处理程序中返回false
,以防止进行默认处理和提交页面:
<asp:Button ID="btnSave" runat="server" Text="Save" Width="64px"
Font-Bold="true" OnClientClick="return validate()" onclick="btnSave_Click" />
关于第二个问题,似乎您的InsertPerson()
方法引发异常,而不是如果此人已经存在, InsertPerson()
返回0
。 从下面发布的代码中,该方法似乎没有对新人员的存在进行任何检查。您可能希望使用例如select
查询来添加该测试。
可能txtAmound不会包含可解析的sring(它可能为空或小数点分隔符不符合您使用的设置),您可以使用Decimal.TryParse代替。请记住,如果以下情况不会引发异常字符串格式不正确
http://msdn.microsoft.com/zh-CN/library/system.decimal.tryparse.aspx
对于第二种情况,我不知道您是DAL(数据访问层),但是我可以猜到您要插入人的表/对象中有一个主键约束。 可能您使用的是已保存的ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.