UserId에 따라 몇 가지 이미지의 표시 여부를 전환하는 간단한 사용자 컨트롤이 있습니다. 페이지가 처음으로로드되면 userID가 올바르게 할당됩니다 (디버깅 중입니다). 그러나 사용자의 유형을 필터링하기 위해 페이지에 두 개의 다른 버튼이 있으며 Ajax (툴킷이 아니라 일반 javascript ajax)를 통해 기능을 수행합니다.캔트는 아약스 포스트 백의 사용자 컨트롤에서 변수에 값을 할당한다.
이러한 버튼 중 하나를 클릭하면 사용자 정의 컨트롤 사용자 ID를 얻을 수 없으며, 항상 0으로 표시됩니다. 아, btw, UserControl은 DataRepeater에 있으므로 모든 사용자마다 항상 발생합니다 .. 또는 아이디어가 있습니다. 나는 이런 식으로 여러 다른 페이지를 가지고있다. (그들 중 누구도 아약스를 가지고 있지 않다.) 사용자 컨트롤은 아무런 문제가 없다.
는내 사용자 제어 코드 :
공공 부분 클래스 ucAuthorityBadges : 즉시 UserControl을 한 후, 여기에
<div class="profileContainer">
<asp:HyperLink Enabled='<%# Eval("isActive") %>' ID="profileName_link" runat="server" Text='<%# Eval("Username") %>' NavigateUrl='<%# "/Profile/" + Eval("Username") %>'></asp:HyperLink>
<img id="friend_image" runat="server" src="/css/images/icons/friend.gif" alt="friend" title="Friend" visible='<%# Convert.ToBoolean(Eval("isFriend")) %>' style="vertical-align:middle" />
<ucAB:AuthorityBadges ID="ucAuthBadge" runat="server" UserId='<%# Convert.ToInt32(Eval("UserId")) %>' />
<%# Eval("UserId") %>
<asp:Label ID="status_label1" Text=" · Friend Request Pending" style="font-size:small;" Visible='<%# Convert.ToBoolean(Eval("isFriendReqPending")) %>' runat="server" Font-Bold="false"></asp:Label>
</div>
: BaseUserControl {
protected void Page_Load(object sender, EventArgs e)
{
if (UserId > 0 && UOBJ.GroupId > 0)
{
DataSet DS = new DataSet();
DS = huDataAccessLayer.dbTools.GetUserAuthority(UserId);
if (!utils.isDataSetEmpty(DS))
{
imgTeamBadge.Visible = Convert.ToBoolean(DS.Tables[0].Rows[0]["isTeam"]);
imgDoctorBadge.Visible = Convert.ToBoolean(DS.Tables[0].Rows[0]["isDoctor"]);
imgAdminBadge.Visible = Convert.ToBoolean(DS.Tables[0].Rows[0]["isAdmin"]);
imgVolunteerBadge.Visible = Convert.ToBoolean(DS.Tables[0].Rows[0]["isVolunteer"]);
imgBloggerBadge.Visible = Convert.ToBoolean(DS.Tables[0].Rows[0]["isBlogger"]);
}
}
}
}
그리고 데이터 중계기는이 같은 것입니다 라인, 나는 단지 그 유효 여부 (< % # Eval ("UserId") %>와 사용자 아이디가 유효합니다. 나는 왜 사용자 정의 컨트롤이 아약스 포스트 백을 가져올 지 이해하지 못한다.
이에서 어떤 힌트가 정말 좋은 것,
정말 고마워요!
고마워요! 그것은 도왔다!! – iamserious