我有一个登录页面。用户成功登录后,他们可以查看和管理其个人资料/信息。这可以通过从数据库检索数据并显示在formview上来完成。
但是,以下错误出现在我的userprofile.aspx.cs文件中:
Exception Details: System.IndexOutOfRangeException: An SqlParameter with ParameterName '@UserId' is not contained by this SqlParameterCollection.
Source Error:
Line 44:
Line 45: // Assign the currently logged on user's UserId to the @UserId parameter
Line 46: e.Command.Parameters["@UserId"].Value = currentUserId;
Line 47:
Line 48: }
Userprofile.aspx:
<asp:FormView ID="FormView1" runat="server"
DataSourceID="SqlDataSource1" DataKeyNames="UserId">
<EditItemTemplate>
UserId:
<asp:Label ID="UserIdLabel1" runat="server" Text='<%# Eval("UserId") %>' />
<br />
Password:
<asp:TextBox ID="PasswordTextBox" runat="server"
Text='<%# Bind("Password") %>' />
<br />
Email:
<asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
<br />
HomeTown:
<asp:TextBox ID="HomeTownTextBox" runat="server"
Text='<%# Bind("HomeTown") %>' />
<br />
HomepageUrl:
<asp:TextBox ID="HomepageUrlTextBox" runat="server"
Text='<%# Bind("HomepageUrl") %>' />
<br />
Signature:
<asp:TextBox ID="SignatureTextBox" runat="server"
Text='<%# Bind("Signature") %>' />
<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>
<InsertItemTemplate>
UserId:
<asp:TextBox ID="UserIdTextBox" runat="server" Text='<%# Bind("UserId") %>' />
<br />
Password:
<asp:TextBox ID="PasswordTextBox" runat="server"
Text='<%# Bind("Password") %>' />
<br />
Email:
<asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
<br />
HomeTown:
<asp:TextBox ID="HomeTownTextBox" runat="server"
Text='<%# Bind("HomeTown") %>' />
<br />
HomepageUrl:
<asp:TextBox ID="HomepageUrlTextBox" runat="server"
Text='<%# Bind("HomepageUrl") %>' />
<br />
Signature:
<asp:TextBox ID="SignatureTextBox" runat="server"
Text='<%# Bind("Signature") %>' />
<br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="Insert" />
<asp:LinkButton ID="InsertCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</InsertItemTemplate>
<ItemTemplate>
UserId:
<asp:Label ID="UserIdLabel" runat="server" Text='<%# Eval("UserId") %>' />
<br />
Password:
<asp:Label ID="PasswordLabel" runat="server" Text='<%# Bind("Password") %>' />
<br />
Email:
<asp:Label ID="EmailLabel" runat="server" Text='<%# Bind("Email") %>' />
<br />
HomeTown:
<asp:Label ID="HomeTownLabel" runat="server" Text='<%# Bind("HomeTown") %>' />
<br />
HomepageUrl:
<asp:Label ID="HomepageUrlLabel" runat="server"
Text='<%# Bind("HomepageUrl") %>' />
<br />
Signature:
<asp:Label ID="SignatureLabel" runat="server" Text='<%# Bind("Signature") %>' />
<br />
</ItemTemplate>
</asp:FormView>
</p>
<p>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:SecurityTutorialsConnectionString %>"
onselecting="SqlDataSource1_Selecting"
SelectCommand="SELECT UserProfiles.UserId, aspnet_Membership.Password, aspnet_Membership.Email, UserProfiles.HomeTown, UserProfiles.HomepageUrl, UserProfiles.Signature FROM aspnet_Membership INNER JOIN UserProfiles ON aspnet_Membership.UserId = UserProfiles.UserId">
</asp:SqlDataSource>
</p>
<p>
</p>
</asp:Content>
Userprofile.aspx.cs:
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
// Get a reference to the currently logged on user
MembershipUser currentUser = Membership.GetUser();
// Determine the currently logged on user's UserId value
Guid currentUserId = (Guid)currentUser.ProviderUserKey;
// Assign the currently logged on user's UserId to the @UserId parameter
e.Command.Parameters["@UserId"].Value = currentUserId;
}
请尝试以下方法:
DbParameter param = e.Command.CreateParameter();
param.ParameterName = "@UserId";
param.Value = currentUserId;
e.Command.Parameters.Add(param);
我虽然没有测试
向弹性搜索发送post请求以下是post数据 作为格式错误的查询获取响应 } 从以下链接阅读文档:https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-havs-child-query.html Elasticsearch版本:5.4
我试图使用gettext来翻译字符串在我的网站 gettext检测字符串没有问题,例如 或者 但显然我们通常会在网站上使用这样的代码 当然,在网站中,$siteName正确显示为 如果我们把 以前。 我的问题是,我使用poedit来提取代码中需要翻译的所有字符串,而poedit似乎没有像上面所述那样用php代码提取所有字符串。那么,如何让poedit中的php代码提取字符串呢?或者我应该使用其他工
正在寻找旧JSF页面的解决方案。我试图使用contains方法根据另一列是否包含单词red box来呈现组合框。 这一个工作和组合框被禁用。 但是,我也想在值不包含红色框时渲染它们,但随后将启用combox。 这是行不通的。 因此,我如何测试的任何想法都不包含特定的单词。我还尝试了choose test when,但由于第一个表。col4值只是一个空字符串。 有什么想法吗?谢谢。
此方法返回登录到系统的当前用户标识。 语法 (Syntax) USERID() 参数 (Parameters) 没有 返回值 (Return Value) 此方法返回登录到系统的当前用户标识。 例子 (Example) /* Main program */ say USERID() 当我们运行上述程序时,我们将得到以下结果。 这取决于当前登录的系统用户。 以下程序仅是示例输出。 输出 (O
问题内容: 例外情况: 具有Count =的此SqlParameterCollection的无效索引n 通常指向重复的映射信息(请参见Stack Overflow + Google)。我很确定我没有。还有其他原因吗? 我似乎已经确定了问题所在。我介绍了这个: 通过lucene.net使用搜索。这似乎会干扰FNH!我在这里有什么选择? PS: PPS: 问题答案: 答案是: a)您在相同的类中映射了
我试图在团队将websphere配置文件设置为活动状态时实现云配置文件也被激活。 yaml文件 当我设置时,我收到以下错误