TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
valmikeshwar reddy
NA
66
6.2k
getting 404 file not found error while loading visual web part for anonymous user even after using SPSecurity.RunWithElevatedPrivileges(delegate() method.it is working with only one user
Aug 16 2012 4:48 PM
Dear Friends , here I am having problem with visual web part.After deploying into SharePoint it is not accessible for all users.It is accessible for only who created.When I try to log in with another user this webpart is not working .I used RunWithElevatedPrivileges method also,even though it is not working.Please help me to fix this issue.
here is is my complete code please check it and sort out my issue
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.Data;
using Microsoft.SharePoint.Utilities;
namespace BursaryVisualWebpart.BursaryCaseID_DocumentsVisualWebpart
{
public partial class BursaryCaseID_DocumentsVisualWebpartUserControl : UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SPContext.Current.Site.ID))
{
using (SPWeb web = site.OpenWeb(SPContext.Current.Web.ID))
{
string bursaryapp = "BURSARY/2012/003";
SPList document = web.Lists["Requirement"];
SPQuery query = new SPQuery();
query.Query = "<Where><Eq><FieldRef Name='ReferenceNumber'/><Value Type='Text'>" + bursaryapp + "</Value></Eq></Where>";
SPListItemCollection objItemcoll = document.GetItems(query);
DataTable itemsDataTable = objItemcoll.GetDataTable();
GridView1.DataSource = itemsDataTable;
GridView1.DataBind();
}
}
});
}
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton hypLink = (LinkButton)e.Row.Cells[3].Controls[1];
hypLink.CommandArgument = e.Row.RowIndex.ToString();
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
try
{
if (e.CommandName == "download")
{
string filename = e.CommandArgument.ToString();
GridView gv = this.GridView1;
HyperLink hypLink = (HyperLink)gv.Rows[Convert.ToInt32(e.CommandArgument)].Cells[0].Controls[1];
SPWeb web = SPContext.Current.Web;
web.AllowUnsafeUpdates = true;
string url = web.Url + hypLink.NavigateUrl;
SPFile tempFile = web.GetFile(url);
byte[] obj = (byte[])tempFile.OpenBinary();
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.BufferOutput = true;
Response.AddHeader("Content-Type", "Application/octet-stream");
Response.AddHeader("Content-Length", obj.Length.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=" + hypLink.Text);
Response.BinaryWrite(obj);
Response.Flush();
Response.End();
web.AllowUnsafeUpdates = false;
}
}
catch (Exception ex)
{
SPContext.Current.Web.AllowUnsafeUpdates = false;
}
}
}
}
..........................................................................................
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="BursaryCaseID_DocumentsVisualWebpartUserControl.ascx.cs" Inherits="BursaryVisualWebpart.BursaryCaseID_DocumentsVisualWebpart.BursaryCaseID_DocumentsVisualWebpartUserControl" %>
<script type="text/javascript">
function setFormSubmitToFalse() {
if (_spFormOnSubmitCalled) {
_spFormOnSubmitCalled = false;
}
}
</script>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
EnableModelValidation="True" onrowcommand="GridView1_RowCommand" OnRowCreated="GridView1_RowCreated">
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# Eval("FileLeafRef", "/Requirement/{0}") %>' Target="_parent"
Text='<%# Eval("FileLeafRef") %>' ></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<%-- <asp:HyperLinkField DataTextField="FileLeafRef" HeaderText="Name" DataNavigateUrlFields="FileLeafRef" Target="_parent" DataNavigateUrlFormatString="/Req/{0}" />--%>
<asp:BoundField DataField="ReferenceNumber" HeaderText="ReferenceNumber" />
<asp:BoundField DataField="ApplicantFullName" HeaderText="ApplicantFullName" />
<asp:TemplateField HeaderText="Download">
<ItemTemplate>
<asp:LinkButton runat="server" ID="lnk" CommandName="download" OnClientClick="setFormSubmitToFalse();">Download </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
Reply
Answers (
1
)
Create website in SharePoint
Sharepoint Workspace 2010