|
i often add asmx web service reference to my project and then i call the 3rd party web service. so i like to know how could i consume and call asmx web service dynamically without adding web service reference to client. please help me with code.
if possible then please discuss all possible ways to call asmx web service from dotnet client. looking for details guidance. thanks
tbhattacharjee
|
|
|
|
|
For your own good, I'm going to have to point out that you are being a Help Vampire[^]. We aren't here to do all your thinking or research for you so, read the link and decide whether or not you want to be a useful member of this site once and for all. You have a repeated history of this behaviour so I'm afraid that we're going to have to tell you like it is. Learn to use Google. Don't expect us to answer open ended questions. Do research for yourself. Only come back if you have a specific question that you can show evidence that you have tried to solve it yourself and that you have an area that you can't get past.
|
|
|
|
|
And "discuss all possible ways ...".
I may get flamed, but I'll say it anyway: a culture of entitlement.
|
|
|
|
|
You won't get flamed by me.
|
|
|
|
|
How to split a String on the basis of a specific word...
which means a string: My Name Is Ali
i want to split the string when ever Is comes.
|
|
|
|
|
Use a regex:
string input = "My Name Is Ali";
string[] parts = Regex.Split(input, @"\sIs\s");
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Any reason for the RegEx rather than just string.Split?
Regards,
Rob Philpott.
|
|
|
|
|
Because the syntax you have to use to split on string(s) rather than character(s) is so damn clumsy:
string[] parts = input.Split(new string[] { " Is " }, StringSplitOptions.None);
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Fair point... There is a rather obvious overload missing.
Regards,
Rob Philpott.
|
|
|
|
|
When you split the string, are you wanting to split it so that "Is" is the start of the phrase or end of one?
|
|
|
|
|
try this
string s="test1 ali test2 ali";
string[] parts = s.Replace("ali", "/").Split('/');
|
|
|
|
|
And what happens when s contains "the bestiality displayed by the main character, Ali, suggests that there is a causality at stake here"?
|
|
|
|
|
static void Main(string[] args)
{
String s = "aaa ali jskdfhskjdfhk ali sjkhfkjsfhkjsdh ali";
var regex = new Regex("ali", RegexOptions.IgnoreCase);
var s1 = regex.Replace(s, "/");
string[] parts = s1.Split('/');
for (int i = 0; i < parts.Length; i++)
Console.WriteLine(parts[i]);
Console.ReadLine();
}
|
|
|
|
|
Nope, that's still wrong. Seriously, try it out with the sentence I gave you. There's only one occurrence of the word Ali in that sentence, but "ali" appears as a substring in other words. So, you should only get two phrases - your version returns 4 and you are corrupting the string so characters are being removed.
|
|
|
|
|
Message Closed
modified 18-Mar-15 8:36am.
|
|
|
|
|
You seem to be confusing me with the original poster. My string was "the bestiality displayed by the main character, Ali, suggests that there is a causality at stake here". Try that one.
|
|
|
|
|
Now i got you, please try bellow
static void Main(string[] args)
{
String s = "the bestiality displayed by the main character, Ali, suggests that there is a causality at stake here";
string pattern = @"\bali\b";
string replace = "/";
var s1 = Regex.Replace(s, pattern, replace, RegexOptions.IgnoreCase);
string[] parts = s1.Split('/');
for (int i = 0; i < parts.Length; i++)
Console.WriteLine(parts[i]+ i.ToString());
Console.ReadLine();
}
|
|
|
|
|
Using the Regex.Split method[^] (as OG suggested[^]) is a better solution:
string input = "the bestiality displayed by the main character, Ali, suggests that there is a causality at stake here";
string pattern = @"\bali\b";
string[] parts = Regex.Split(input, pattern, RegexOptions.IgnoreCase);
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
|
http://stackoverflow.com/questions/6025560/how-to-ignore-case-in-string-replace
|
|
|
|
|
I'm trying to generate a simple report based on this article : www.dotnetawesome.blogspot.com/2013/09/microsoft-report-in-mvc-4.html[^]
Here is my controller
public ActionResult Report(string id)
{
LocalReport lr = new LocalReport();
string path = Path.Combine(Server.MapPath("~/Report"), "Person.rdlc");
if (System.IO.File.Exists(path))
{
lr.ReportPath = path;
}
else
{
return View("Index");
}
List<Person> cm = new List<Person>();
var viewModel = new PersonIndexData();
viewModel.People= db.Person
.Include(k => k.Groups)
.OrderBy(k => k.Name);
cm = viewModel.People.ToList();
ReportDataSource rd = new ReportDataSource("PersonDataSet", cm);
lr.DataSources.Add(rd);
string reportType = id;
string mimeType;
string encoding;
string fileNameExtension;
string deviceInfo =
"<DeviceInfo>" +
" <OutputFormat>" + id + "</OutputFormat>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.5in</MarginTop>" +
" <MarginLeft>1in</MarginLeft>" +
" <MarginRight>1in</MarginRight>" +
" <MarginBottom>0.5in</MarginBottom>" +
"</DeviceInfo>";
Warning[] warnings;
string[] streams;
byte[] renderedBytes;
renderedBytes = lr.Render(
reportType,
deviceInfo,
out mimeType,
out encoding,
out fileNameExtension,
out streams,
out warnings);
return File(renderedBytes, mimeType);
}
When I type (mysite/person/report/pdf), I get this exception :
An error occurred during report processing. At this part :
renderedBytes = lr.Render(
reportType,
deviceInfo,
out mimeType,
out encoding,
out fileNameExtension,
out streams,
out warnings);
Can you tell me how I can get rid of the error? Thanks.
|
|
|
|
|
Hi i have recently moved into IT at work and am having to learn C# from scratch as fast as possible with little help. As practise I have to create a notepad clone in VS 2010 using c#. I know that using a 'RichTextBox' would be alot easier but i HAVE to use a 'Textbox' for my first version.
I have completed all the usual menu functions on the main form (form1) up to Find/Find Next/Replace. This is where i am a little stuck.
I have created a 2nd form(frmfind) to be the dialog box that appears when you click file->Find and i have coded enough that when you click on file frmfind appears but now i am not sure how to get form1 to take the search text entered and make it actually search my textBox1 and highlight the first found word etc. I am a visual learner so examples really help.
I have been told that using a for loop is the best option.
Here is my code i have not included the other file menu parts.
Form1
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Printing;
namespace SamsNotePad
{
public partial class Form1 : Form
{
frmFind FindForm = new frmFind();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
FindForm.FindClicked +=new frmFind.FindClickEventHandler(FindForm_FindClicked);
}
private void findToolStripMenuItem_Click(object sender, EventArgs e)
{
FindForm.Show();
FindForm.Focus();
}
void FindForm_FindClicked(string strToFind)
{
int index = textBox1.Text.IndexOf(strToFind);
if (index >= 0)
{
textBox1.SelectionStart = index;
textBox1.SelectionLength = strToFind.Length;
textBox1.Focus();
}
}
private void findNextToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void replaceToolStripMenuItem_Click(object sender, EventArgs e)
{
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SamsNotePad
{
public partial class frmFind : Form {
public frmFind()
{
InitializeComponent();
}
public string strToFind
{
get { return searchTxt.Text; }
}
public delegate void FindClickEventHandler(string strToFind);
public event FindClickEventHandler FindClicked;
void cancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void cmdFind_Click(object sender, EventArgs e)
{
FindClicked(searchTxt.Text);
}
private void strToFind_TextChanged(object sender, EventArgs e)
{
}
}
}
modified 17-Mar-15 6:25am.
|
|
|
|
|
First things first: you need to show your dialog (using myFindWhatForm.ShowDialog) and then fetch the text to search for using a property of the dialog form to return it.
Then you can use string.IndexOf[^] to locate the first instance of the string in the Text property of the TextBox.
When you have the index, that's the first character you want to highlight, and the length of the search text is the number of characters to highlight.
Highlighting is easy:
int index = myEditTextBox.Text.IndexOf(searchForText);
if (index >=0)
{
myEditTextBox.SelectionStart = index;
myEditTextBox.SelectionLength = searchForText.Length;
myEditTextBox.Focus();
} If you don't set the focus to the textbox, you probably wont see the highlight - it'll be focussed on the "Find" button.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Thank you for such a good reply. When i run my code and type in a search word in the Find box and then click Find nothing is happening and the below code(FindClicked(searchTxt.Text);) on the frmfind is being highlighted with the following message 'Object reference not set to an instance of an object' any ideas where i am going wrong. I will edit my original code above to show what it now looks like after your suggestion.
private void cmdFind_Click(object sender, EventArgs e)
{
FindClicked(searchTxt.Text);
}
|
|
|
|
|
You need to store the content of serchTxt.Text in a member variable of the find form. Give this variable a property with a public getter. Then set the DialogResult of the find form to OK and close the form. This could look something like this:
private void cmdFind_Click(object Sender, EventArgs e)
{
storedText = searchTxt.Text;
this.DialogResult = DialogResult.OK;
Close();
}
Then the control is returnd to the function that called ShowDialog() in the original form. There you can get the search text from the find form variable (that you called ShowDialog() for) using the above mentioned property. Once you have the text, you can search for it, possibly using an extra function, on the original form.
Also you should check the DialogResult of the find form after the ShowDialog() returned. If it is OK, the user clicked Find. If it isn't, the user probably canceled the search form.
The good thing about pessimism is, that you are always either right or pleasently surprised.
|
|
|
|