FieldAskBookmarkName Property

Gets or sets the name of the bookmark.

Namespace:  Aspose.Words.Fields
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.8.0


public string BookmarkName { get; set; }

Property Value

Type: String


Shows how to create an ASK field and set its properties.
public void FieldAsk()
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Place a field where the response to our ASK field will be placed
    FieldRef fieldRef = (FieldRef)builder.InsertField(FieldType.FieldRef, true);
    fieldRef.BookmarkName = "MyAskField";

    // Insert the ASK field and edit its properties, making sure to reference our REF field
    FieldAsk fieldAsk = (FieldAsk)builder.InsertField(FieldType.FieldAsk, true);
    fieldAsk.BookmarkName = "MyAskField";
    fieldAsk.PromptText = "Please provide a response for this ASK field";
    fieldAsk.DefaultResponse = "Response from within the field.";
    fieldAsk.PromptOnceOnMailMerge = true;

    // ASK fields apply the default response to their respective REF fields during a mail merge
    DataTable table = new DataTable("My Table");
    table.Columns.Add("Column 1");
    table.Rows.Add("Row 1");
    table.Rows.Add("Row 2");

    FieldMergeField fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
    fieldMergeField.FieldName = "Column 1";

    // We can modify or override the default response in our ASK fields with a custom prompt responder, which will take place during a mail merge
    doc.FieldOptions.UserPromptRespondent = new MyPromptRespondent();

    doc.Save(ArtifactsDir + "Field.ASK.docx");

    Assert.AreEqual(" REF  MyAskField", fieldRef.GetFieldCode());
        " ASK  MyAskField \"Please provide a response for this ASK field\" \\d \"Response from within the field.\" \\o",

/// <summary>
/// IFieldUserPromptRespondent implementation that appends a line to the default response of an ASK field during a mail merge.
/// </summary>
private class MyPromptRespondent : IFieldUserPromptRespondent
    public string Respond(string promptText, string defaultResponse)
        return "Response from MyPromptRespondent. " + defaultResponse;

See Also