2013-12-03 1 views
0

У меня есть ошибка, когда я не могу привязать строку в своей веб-форме к форме сервиса. Я сделал ссылку на службу и т.д.Ссылка на строку из веб-формы на веб-службу

Service.cs

[Empty] 

Default.aspx.cs

[Empty] 
+2

Вам не хватает аргумента в obj.Translate()? – Damon

+0

@ Дамон сожалеет, но какой должен быть этот аргумент? Ive никогда не использовал C# или веб-сервис до – WhereAreYouSyntax

+1

Ну, это будет строковое значение, например «HelloWorld». Возможно, посмотрите в dictionary.csv за допустимое значение (если у вас есть к нему доступ). – Damon

ответ

1

Вместо того, чтобы комментировать, я собираюсь попробовать и ответить на ваш вопрос.

Причина, по которой вы получаете исключение, состоит в том, что вы не предоставляете ожидаемый аргумент типа строки, например, из вашего примера «BRB».

Для его работы вам необходимо изменить его так, чтобы obj.Translate берет строковое значение из текстового поля.

Так что вы можете сделать:

protected void Button1_Click(object sender, EventArgs e) 
    { 
     if (!String.IsNullOrEmpty(TextBox1.Text)) 
     { 
      localhost.Service obj = new localhost.Service(); 
      TextBox1.Text = obj.Translate(TextBox1.Text); 
     } 
    } 

Приведенный выше код будет просто заменить любое значение, вы первым ввели в текстовое поле со значением возврата из сервиса (метод obj.Translate), когда кнопка нажата.

Если текстовое поле ввода отличается от дисплея, вам необходимо подставить соответствующий идентификатор элемента управления (то есть TextBox1 в TextBox2).

N.B. Не забудьте подтвердить свой ввод перед передачей значения службе. Я только что изменил код, чтобы продемонстрировать базовую проверку, используя метод String.IsNullOrEmpty. Клиентская сторона required field validator была бы лучше, так как это спасло бы обратную передачу и потенциальный вызов службы. Вы также должны выполнить необходимую проверку в своей службе.

Смежные вопросы