I'm doing some custom code for a SharePoint webpart in C#. Specifically, I'm making a quiz, my main point here addressing the list that holds the question, answer choices, and correct answer.
At the last stage of the quiz I need to check the answers selected by the user against the correct answer in the list. Currently, I'm doing the following to check if each is correct, which I'm assuming isn't very efficient because it iterates through each question. Is there a method, specifically for the SPList foreach loop, that would be more efficient?
// 1. Store questions and answers in class
List<submittedAnswers> answeredQuestions = new List<submittedAnswers>();
// 2. From POST pull answered question IDs and answer IDs (which correspond to the question primary key and answer choice number both stored in the list)
// INSERT BEAUTFIUL AND EFFICIENT WHILE LOOP HERE
// 3. Loop through each question is list, if question was given, test if correct/incorrect
using (SPWeb myWeb = mySite.OpenWeb())
{
SPList answerList = myWeb.Lists[questionList];
foreach (SPListItem quizEntry in answerList.Items)
{
int pullAnswerId = int.Parse(quizEntry["Answer"].ToString()); // Pull answer number from list
int pullQuestionId = int.Parse(quizEntry["ID"].ToString()); // Pull primary key of question
submittedAnswers result = answeredQuestions.Find(delegate(submittedAnswers e) { return e.questionId == int.Parse(quizEntry["ID"].ToString()); });
if (result != null)
{
if (result.responseId != pullAnswerId) // If the response was different from the answer
incorrectAnswers++;
else
correctAnswers++;
}
}
}
// C# quiz grading magic here....
I have List (of class). having 1800 of count and each object has 90 properties. When I terate earch with 90 properties taking more and more time. How to resolve this
Dim cellIntStyle As HSSFCellStyle = hssfworkbook.CreateCellStyle cellIntStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("#") Dim cellDateStyle As HSSFCellStyle = hssfworkbook.CreateCellStyle cellDateStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat(Format ("dd-MMM-yyyy")) For Each mReport As Report In dtExcel row = sheet1.CreateRow(iRow) j = 0 For Each prop As PropertyInfo In props Dim value As Object = prop.GetValue(mReport, Nothing) If IsInt(value) Then CreateRow(row, j, CType(value, Integer), cellIntStyle) ElseIf IsDate(value) Then CreateRow(row, j, String.Format("{0:dd-MMM-yyyy}", value), cellDateStyle) Else CreateRow(row, j, value) End If j = j + 1 Next iRow = iRow + 1 // Coming here taking so long... how to make it fast. Next Private Sub CreateRow(ByRef row As HSSFRow, ByVal colId As Integer, ByVal value As String) row.CreateCell(colId).SetCellValue(value) End Sub Private Sub CreateRow(ByRef row As HSSFRow, ByVal colId As Integer, ByVal value As Integer, ByVal cellStyle As HSSFCellStyle) Dim cell As HSSFCell = row.CreateCell(colId) cell.SetCellValue(value) cell.CellStyle = cellStyle End Sub Private Sub CreateRow(ByRef row As HSSFRow, ByVal colId As Integer, ByVal value As String, ByVal cellStyle As HSSFCellStyle) Dim cell As HSSFCell = row.CreateCell(colId) cell.SetCellValue(value) cell.CellStyle = cellStyle End Sub
I need to convert a SharePoint List to ASP.NET, including its column filters etc.
Aside from the underlying data which will be housed in a SQL Server table, what are good control choices on ASP.NET side for this? (I'm not sure if ASP.NET Gridview will have all the necessary features.)
I've created a quiz web part in SharePoint 2007, but am stuck on one permission. It needs to write the quiz score to a list, which it's throwing an error now when trying. I'm under the assumption that if the web part has the appropriate permission level, the user's permissions (the quiz taker) don't matter. Is there a particular permission that should allow the webpart to write to a list? Specifically:
I want to export sharepoint list to excel, I also posted question on another sharepoint forum(http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/f890abb6-5558-4e47-925e-e1a026804d58)
i was wondering if there is a way to prepopulate sharepoint list item values into a webform fields if the loggin user's information is matched with the information in the list item.
what i have done is that i made a query function to determine if info is matched, and then i try to pull some infomation out from list item. this method works fine for printing these values to some labels on the form, however, it is not working for prepopulation, which happens in the page_load function.
I have a sharepoint event handler attached to task list. This work fine but I have 3 task list in my site and I want that handler trigger only to one task list.I already used the listtemplateId 107.
I have a form built using the wizard control in VS 2008. I need this form to collect data and publish them to a sharepoint list or page?is this possible?
in order to prepopulate some user information, i used query to search the sharepoint list. my question is how to search loggin user's info in the list. i used following testing query function. it works fine. however, it can only search specific text, cannot be changed according different user.
I have to save a fileshare link in a sharepoint list and i want that file to be opened when the link is clicked, the normal sharepoint hyperlink column does not work for me in this case as it embeds the http:// with the url. How can I handle this scenario? the link i want to save is in the format 192.168.1.2myservermyfile.pdf and the text to be shown in the column is "myfile"
I am creating one new silverlight webpart from VS Sharepoint 2010. If i am creating the silverlight application its asking for the sharepoint local site url, i gave the valid url but its showing the ["could not contact sharepoint server for list of document libraries. check your sharepoint URl"].
I have deployed a custom SharePoint Web service on Farm A. I am trying to access this Web service from a SharePoint timer job on Farm B. On Farm B, I am creating Class Library project, packaging it (wsp) and then deploying to GAC. The problem is I'm unable to access the Web Service using the following code. TodaysNewSVC is a service reference
//getNewsFromInsite is a WebMethod which returns the DataTable.
Note: Both farms use the same active directory authentication. I have also done the debugging for Timer Job and feature activation and they are working fine. The problem occurs during the call i.e. getNewsFromInsite The asmx and wsdl files are accessible from Internet Explorer and also from Windows Console application. Here is the code which I use from console application:
GetTodaysnewsfromInsiteSoapClient objWSClient = new GetTodaysnewsfromInsiteSoapClient(); objWSClient.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;[code]...
Here is the error message:The request failed with the error message: -- <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="%2fPages%2fproblem-with-page.aspx%3fc%3d500">here</a>.</h2> </body></html>
new to C# question: I am in an iteration of a for loop and if a condition exists I want to jump to the next iteration of the for loop, how do I do this in C#?
I've got a while loop that's doing some stuff, and what I want is for it to create a new array each time.
while(condition){ //do some stuff //create an array x[] //amend values in array //save as new array each time until loop finished }
Actually i need to store the comma separated values of different datatypes in an array using split.And then i hav to sort these values comparing zeroth position element of all rows.
Is it possible to detect or use a different template in the asp.net repeater for the last iteration in the repeater?If not I could just use a for loop but I'm curious if it can be done.
In my app I have a criteria builder section that's built using jquery and is pitched back to the controller in a form post and picked up as IList by the model binder as suggested in Phil's post here: http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx A really simple way that I'm persisting the criteria across posts is re-delivering the IList object to the view. I'm using a DisplayFor() template for this object, but because it's a list I need to know the index # inside of the template.
I have made an asp.net website which is using master page in it.
my programming language is c#. I want to iterate through content page controls but i m not able to do it. I have searched a lot on internet but of no avail.
I want to create a custom web part in SharePoint 2007 that allows me to take items from an existing custom list (i.e. Title, Hyperlink, Description and photo) and then render it in a format of my choice. How can I do this using C# asp.net and a web part?
I think this is something really easy that I am missing. I have a loop that is sending emails. The loop adds an attachement from a FileUpload instance. The first run of the loop is fine but each subsequent run the attachment is empty. I have found mention of reseting contentstream.position to 0 but that doesn't seem to apply to the FileUpload control. I am attaching the code below.
I'm writing an update script that goes through each record and performs various updates, and I want the current record to display while it's processing.
For Each row As DataRow In DS.Tables(0).Rows
'Label Inside Ajax Panel Label_Ajax.Text = row.Item("product_id").ToString 'Label Inside Ajax Update Progress Panel Dim newlabel As Label = UpdateProgress1.FindControl("Label_AjaxProgress") newlabel.Text = row.Item("product_id").ToString ' Tried straight to console, but doesn't work Console.Write(row.Item("product_id").ToString)
Next
I've tried all three methods shown above, but they all end up displaying the last record after the iteration is complete. How can I get the current record to display on the screen during the iteration?
I'm having difficulties getting XslCompiledTransform.Load method to take a server path. I googled around and found that I need to do something like:
xslt.Load(System.Web.HttpContext.Server.MapPath(xslPath), XsltSettings.Default, new XmlUrlResolver());
But it returned an error saying HttpContext is null.
I also tried:
xslt.Load(System.Web.HttpServerUtility.MapPath(xslPath), XsltSettings.Default, new XmlUrlResolver());
That also returned an error saying an object reference is required for the non-static field, method, or property 'System.Web.HttpServerUtility.MapPath(string)'
The xslPath has a path that points to a xsl file in Sharepoint Web. I just want XslCompiledTransform to load the xsl file with the server path. Is it possible? If so, what is the proper way or hackish way of doing it?
EDIT: I have access to a SPWeb object which contains the path to the xsl file. However when I check the ServerRelativeUrl, it just says "/MyTree/xsl.xsl". The problem here is I couldn't get the XslCompiledTransform.Load to load the file from SharePoint list.
Following error comes when creating a WebPart In sharePoint 2010 Server.
Web Part Error: Unhandled exception was thrown by the user code wrapper's Execute method in the partial trust app domain: System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.TypeLoadException: Could not load type 'Microsoft.SharePoint.WebControls.SPGridView' from assembly 'Microsoft.SharePoint, Version=14.900.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'. at ListMenuSample.ListMenuSample.ListMenuSample.CreateChildControls() at System.Web.UI.Control.EnsureChildControls() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace --- at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at Microsoft.SharePoint.UserCode.SPUserCodeWebPartWrapper.ExecuteHttpRequest(SPUserCodeWebPartHttpRequestContext webPartExecutionContext, SPUserCodeWebPartHttpResponse httpRequestResponse) at Microsoft.SharePoint.UserCode.SPUserCodeWebPartWrapper.Execute(SPUserCodeExecutionContext executionContext) at Microsoft.SharePoint.UserCode.SPUserCodeApplicationHostAppDomainRef.Execute(Type userCodeWrapperType, SPUserCodeCachedAssemblyGroup userAssemblyGroup, Guid siteCollectionId, Byte[] binaryUserCodeToken, Byte[] proxyOperationToken, SPUserCodeExecutionContext executionContext)