我知道这可能很容易,但我看不到树木的森林,我看到的树木越多,嗯,你知道。
我有一个带有在Visual Studio(asp.net 3.5)中设计的formview的aspx网页,它使用参数来更新我的数据库。通常,有人通过网络将他们的姓名或地址全部上限,然后提交。由于在更改案例时似乎有很多变量需要考虑,我认为当有人处理它时,他们会有一个按钮,他们可以点击这些按钮会改变某些字段(即名字,姓氏,街道地址)到因此应该更新sql字段(是的,我想更新数据库,而不仅仅是演示文稿)。
我尝试过使用我发现的几个脚本/东西,但想想因为我知道一些,我会让他们混淆。我已经顽固地坚持了几天,现在我已经落后了!请帮忙!
代码是:
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:techpreppetitionConnectionString %>"
SelectCommand="SELECT FirstName, LastName, ContactID FROM test ORDER BY LastName"
UpdateCommand="UPDATE test SET LastName = @LastName,FirstName =@FirstName WHERE (ContactID = @ContactID)">
<UpdateParameters>
<asp:Parameter Name="LastName" Type="String" />
<asp:Parameter Name="FirstName" Type="String" />
<asp:Parameter Name="ContactID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:FormView ID="FormView1" runat="server" DataKeyNames="ContactID" DataSourceID="SqlDataSource2"
Width="750px" AllowPaging="True" DefaultMode="Edit">
<EditItemTemplate>
<table>
<tr>
<td>
First Name<br />
<asp:TextBox ID="txtFirstName" runat="server" Text='<%# Bind("FirstName") %>' />
</td>
<td> </td>
<td>
Last<br />
<asp:TextBox ID="txtLastName" runat="server" Text='<%# Bind("LastName") %>' />
</td>
</tr>
</table>
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
Text="Update" />
<asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False"
CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
</asp:FormView>
答案 0 :(得分:0)
您可以编写一个sql用户定义函数,该函数接受字符串输入并返回格式化字符串。在插入/更新字段之前使用此功能。
E.g。 InitCap user defined function
修改1:
在javascript中查看InitialCaps:
以下是我放在一起使用它的示例:
$(function() {
$(".txtInfo").blur(function() {
$(this).val(InitialCaps($(this).val()));
});
});
function InitialCaps(theString) {
theString = theString.toLowerCase();
theString = theString.substr(0, 1).toUpperCase() + theString.substring(1, theString.length);
var i = 0;
var j = 0;
while ((j = theString.indexOf(" ", i)) && (j != -1)) {
theString = theString.substring(0, j + 1) + theString.substr(j + 1, 1).toUpperCase() + theString.substring(j + 2, theString.length);
i = j + 1;
}
return theString;
}
<asp:TextBox ID="TextBox1" runat="server" CssClass="txtInfo"></asp:TextBox>
使用jquery在文本框模糊上调用该函数。
此外,如果您找到更好的功能,只需替换对该功能的调用,即
而不是$(this).val(InitialCaps($(this).val()));
你做$(this).val(YourInitialCaps($(this).val()));
编辑2:
好的,我明白了。查看我的更新代码。我在文本框中添加了属性CssClass =“txtInfo”,并使用类选择器在jquery中获取对TB的引用。
答案 1 :(得分:0)
TextInfo UsaTextInfo = new CultureInfo("en-US", false).TextInfo;
//Return title case
return UsaTextInfo.ToTitleCase(txt);
Theres也是一个可以执行此操作的JavaScript库,因此您可以使用onblur来格式化文本。 http://individed.com/code/to-title-case/